此代码确实从表中正确删除了记录,但第二次在同一表上运行时,它仍然报告"已成功删除记录"。为什么?
// 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";
?>
因为mysqli_query返回true,无论记录是否存在都无关紧要。使用 mysqli_affected_rows(); 以查看已删除的行数。
if(mysqli_affected_rows($conn)==0){
print "Nothing done";
}
因为mysqli_query($conn, $sql)
返回 true,因为查询或函数 mysqli_query() 中没有触发错误。如果你想做一些多余的事情,mysqli_query()不会阻止你。
根据您的代码 如果查询成功,那么它将按照选择的方式回显。您可以在phpmyadmin->SQL中运行此查询。第一次将显示已删除的行 1。下次将显示 0。