检查执行布尔值或使用尝试/捕获 PDO

Checking on execute boolean or using try/catch PDO

本文关键字:捕获 PDO 执行 布尔值 检查      更新时间:2023-09-26
我很

抱歉我的头衔不好。我在项目中使用了很多 AJAX,在 AJAX 中,我主要返回"错误"或"成功"以及数组中的消息。在Javascript中,我将消息打印在自定义通知栏中。

现在,我不太确定给出错误的默认方式是什么。我需要检查我的 PDO 查询是否返回数组成功或失败。我不知道是检查execute()布尔值还是应该使用 try/catch。

错误处理有很大的区别吗?

在这种情况下并没有真正的区别,但我会检查PDOStatement->execute().

在某些情况下,您正在更新/删除某些行,即使没有行满足where条件,您的PDOStatement->execute()也会返回 true,这是因为没有发生异常。在这种情况下,您应该使用 PDOStatement->rowCount() 来了解受影响的行数。

观察:不要依赖 PDOStatement->rowCount() 来选择语句,如下所示:

如果关联的 PDOStatement 执行的最后一个 SQL 语句是 SELECT 语句,则某些数据库可能会返回该语句返回的行数。但是,并非所有数据库都保证此行为,并且不应依赖于可移植应用程序