通过 php 删除数据库中的行时出现问题
issue while deleting row in database by php
你好,我的数据库中有一个名为 files 的 table,我想通过其 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 但我正在将字符串传递给它所以我应该如何解决这个问题?
试试这个
$sqlDelete = "DELETE FROM files WHERE id = ".$id;
mysqli_query($conn,$sqlDelete );
分配后
$sqlDelete = "DELETE FROM files WHERE id LIKE '$id'";
你需要
if (mysqli_query($conn, $sqlDelete))
{
echo "Successfully Deleted";
}
为了执行删除查询。顺便说一句,select
语句是多余的。
请注意您的代码非常不安全并且容易出现 SQLi。使用准备好的语句而不是文本替换。
你好,我的数据库中有一个名为 files 的 table,我想通过其 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 但我正在将字符串传递给它所以我应该如何解决这个问题?
试试这个
$sqlDelete = "DELETE FROM files WHERE id = ".$id;
mysqli_query($conn,$sqlDelete );
分配后
$sqlDelete = "DELETE FROM files WHERE id LIKE '$id'";
你需要
if (mysqli_query($conn, $sqlDelete))
{
echo "Successfully Deleted";
}
为了执行删除查询。顺便说一句,select
语句是多余的。
请注意您的代码非常不安全并且容易出现 SQLi。使用准备好的语句而不是文本替换。