[英]MYSQL query in PHP is deleting all the rows in my table
我正在研究使用删除的 PHP 脚本,我只想删除 1 行。 但是每次我尝试删除 1 行时,SQL 都会执行但会删除表中的整行。
以下是我的 PHP 脚本
<table>
<tr>
<th>No.</th>
<th>Publisher Code</th>
<th>Publisher Name</th>
<th>City</th>
<th> </th>
</tr>
<!-- PHP FETCH/RETRIEVE FROM DB -->
<?php
include_once 'dbconnect.php';
$sql = mysqli_query($conn, "SELECT * FROM tbl_publisher");
$ctr = 1;
$record = mysqli_num_rows($sql);
if ($record > 0) {
while ($record = mysqli_fetch_array($sql)) {
?>
<tr>
<td> <?php echo $ctr++ ?> </td>
<td> <?php echo $record['TBL_PUBLISHER_CODE']; ?> </td>
<td> <?php echo $record['TBL_PUBLISHER_NAME']; ?> </td>
<td> <?php echo $record['CITY']; ?> </td>
<td id="actions">
<center>
<a href="delete.php?del-pub=<?php echo htmlentities($record['TBL_PUBLISHER_CODE']);?>" onclick="return confirm('Do you really want to Delete?')">Delete</a>
</center>
</td>
</tr>
<!-- closing tag for php script -->
<?php
}
}
?>
<!-- -->
</table>
以下是我的删除。php
if(isset($_GET['del-pub']))
{
$row = intval($_GET['del-pub']);
$sql = mysqli_query($conn,"DELETE FROM tbl_publisher WHERE TBL_PUBLISHER_CODE = $row;");
if ($sql) {
header("Location: publisher.php");
}
else {
echo "<script>alert('Publisher was not deleted.');</script>";
header("Location: publisher.php");
}
}
我想知道如何只删除 1 行。 但它不断删除表中的整行。
转储$sql的内容后,我发现我的sql语法是罪魁祸首。
由于 TBL_PUBLISHER_CODE 使用 char 作为 ID。 而不是做“=”
DELETE FROM tbl_publisher WHERE TBL_PUBLISHER_CODE = $row;
我用了
DELETE FROM tbl_publisher WHERE TBL_PUBLISHER_CODE LIKE '".$row."'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.