如果之前有人问过这个问题,我深表歉意,但我还没有找到适合我需要的答案。
我有一个准备好的语句,可以使用用户输入从表中删除数据:
$delete = $handler->prepare("DELETE FROM screenings WHERE
time = :time ORDER BY screeningid LIMIT 1; ");
$delete- >execute(array( ':time' => $screeningtime ));
我尝试在删除语句之前添加一个 if 语句,以首先检查记录是否存在,如果存在则执行删除语句,否则会回显错误消息。
到目前为止我一直在尝试:
if(empty($row['column'])) {
echo "error";
}else {
//delete statement here
}
但无济于事,错误消息在所有实例中都会打印出来
最佳答案
您需要执行 SELECT 来检测该行是否存在。
但是,DELETE 的结果将返回受影响的行数,因此您可以直接运行它,然后检查是否删除了 0 或 1 或 >1 行。那将是 $delete->rowCount()
关于PHP PDO If 语句检查删除语句中的字段是否为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55319864/