我的index.php页面上有一个评论部分。 (就像我在这里显示的那样)我有一个删除链接,可以将您发送到删除页面。我希望能够在单击时删除该特定ID。 index.php
<div class='commentnest'>
<p id='id'> ".$row['id']."</p>
<p id='user'> ".$row['user'].":</p>
<p id='comment'>".$row['usercomment']." </p>
<p id='time'>".$row['timestamp']."</p>
<a href='delete.php?=".$row['id']."'>Delete</a>
</div>
delete.php页面
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "DELETE FROM commenttable WHERE id=id";
if (mysqli_query($conn, $sql)) {
echo "Record deleted successfully";
} else {
echo "Error deleting record: " . mysqli_error($conn);
}
mysqli_close($conn);
?>
每当我在那里发送特定评论时,它都会删除所有评论。我知道这是因为我没有说明选择哪个ID,但我很难搞清楚。
感谢您的帮助!
答案 0 :(得分:1)
删除所有记录,因为除非id为NULL,否则id=id
将始终为true。您需要从HTML中正确传递它:
<a href='delete.php?id=".$row['id']."'>Delete</a>
然后在查询中正确使用它:
$sql = "DELETE FROM commenttable WHERE
id='".mysqli_escape_string($conn,$_REQUEST["id"])."'" ;
如果id总是一个整数,你可以写得更简单:
$sql = "DELETE FROM commenttable WHERE
id=".(int)$_REQUEST["id"]);