PHP PDO If 语句检查删除语句中的字段是否为空

标签 php mysql pdo

如果之前有人问过这个问题,我深表歉意,但我还没有找到适合我需要的答案。

我有一个准备好的语句,可以使用用户输入从表中删除数据:

    $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()

http://php.net/manual/en/pdostatement.rowcount.php

关于PHP PDO If 语句检查删除语句中的字段是否为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55319864/

相关文章:

php - Unity 是否支持 PHP session ?

php - 如何在我的查询中使用日期格式?

mysql - 学习 PDO 查询

php - SQL 按两列分组和排序

php - 用于模拟由新类对象调用的方法的单元测试

mysql - 使用 Angularjs 下载 csv 格式

mysql - MS Access 前端/MySQL 后端兼容和推荐的数据类型

php - MySQL之类的查询不起作用?

php - 在 PHP7 上安装 PDO_OCI

php - 在 UWP 应用中使用 Php 脚本从 MySql 服务器获取数据