【发布时间】:2021-06-02 22:48:57
【问题描述】:
您好,我的数据库中有一个名为 files 的表,我想通过其 id 删除一行,但是每当我运行代码时,我都会收到响应“已成功删除”,但它不会删除该行。 这是我的代码。 我将不胜感激。
<?php
require "conn.php";
$id = $_POST["id"];
if($conn){
$sql = "SELECT * FROM files WHERE id LIKE '$id'";
$query = mysqli_query($conn,$sql);
if (mysqli_num_rows($query)>0) {
$sqlDelete = "DELETE FROM files WHERE id LIKE '$id'";
echo "Successfully Deleted";
} else {
echo "Failed to delete";
}
} else {
echo "Connection Error";
}
?>
我猜这个问题是因为数据库中的 id 是 Int 但我将字符串传递给它所以我应该如何解决这个问题?
【问题讨论】:
-
您还没有执行删除查询...您只定义了没有查询调用的查询字符串。请注意,您应该考虑使用准备好的语句
-
另请注意,最好使用直接比较 (
=) 而不是使用LIKE,因为您正在寻找完全匹配。在这种情况下,它们的行为相同,但直接比较更快。
标签: php database delete-row