此代码会正确删除表中的记录,但第二次在同一个表上运行它仍会报告"记录已成功删除"。那是为什么?
// sql to delet a record
$sql = "DELETE FROM setidata WHERE SETIData_ID=834";
if (mysqli_query($conn, $sql)) {
echo "Record deleted successfully";
} else {
echo "Error deleting record: " . mysqli_error($conn);
}
mysqli_close($conn);
echo "<br> Finished";
?>
答案 0 :(得分:1)
因为如果记录存在,mysqli_query返回true无关紧要。 使用mysqli_affected_rows();查看已删除的行数。
if(mysqli_affected_rows($conn)==0){
print "Nothing done";
}
答案 1 :(得分:0)
因为mysqli_query($conn, $sql)
返回true,因为查询或函数mysqli_query()没有触发错误。如果你想做一些多余的事情,mysqli_query()不会阻止你。
答案 2 :(得分:0)
根据您的代码如果查询成功,那么它将选择回显。您可以在phpmyadmin-&gt; SQL中运行此查询。第一次它将显示已删除的行1.下次它将显示0.