如何处理PHP PDO execute()返回false?
php手册()在返回值中提到:“成功时返回TRUE,失败时返回FALSE。”如何处理PHP PDO execute()返回false?,php,Php,php手册()在返回值中提到:“成功时返回TRUE,失败时返回FALSE。” 我正在用几个PDO::execute语句编写一个php脚本。当PHP:PDO确实返回FALSE时应该怎么做?停止整个脚本(调用exit())或继续或其他操作?Execute()返回false的可能原因是什么?还是说返回false仅仅是一种理论上的场景,在reel live中几乎从未发生过?这实际上取决于您执行的查询类型。如果它是事务的一部分,您可能希望回滚它。 如果它对后续的程序执行至关重要,那么您肯定要停止它并显示错
我正在用几个PDO::execute语句编写一个php脚本。当PHP:PDO确实返回FALSE时应该怎么做?停止整个脚本(调用exit())或继续或其他操作?Execute()返回false的可能原因是什么?还是说返回false仅仅是一种理论上的场景,在reel live中几乎从未发生过?这实际上取决于您执行的查询类型。如果它是事务的一部分,您可能希望回滚它。 如果它对后续的程序执行至关重要,那么您肯定要停止它并显示错误消息。 如果您的程序没有它也可以运行,那么您可以忽略它或以任何您认为正确的方式处理它
当出现错误时,它返回false。这可能是由于缺少连接、参数不正确等原因造成的。这取决于查询执行对程序的重要性。 没有处理/忽略它的标准方法 它可能会帮助您使用PDO的/函数,因此您可以以不同的方式处理不同的错误
看看
errorCode()
手册页面中给出的第一个示例,其中execute()
失败。冒着写下不受欢迎答案的风险,我不完全确定在使用时检查PDOStatement::execute()
的返回值是否值得一试,它应该这样做。或者,为了回答您提出的问题,PDOStatement::execute()
返回FALSE
在PDO::ERRMODE_EXCEPTION
下确实是一个非常理论化的场景,如果确实发生了,您的请求(如果不是整个Apache进程)很可能会失败
在中出现的
RETURN\u FALSE
的“真实”情况非常少。我所说的“正版”是指没有注释掉,并且没有遵循PDO\u HANDLE\u stm\u ERR
(即PDO\u HANDLE\u error
,即名称中的)。事实上,PDOStatement::execute
可能返回FALSE
(同样,在设置了PDO::ERRMODE_EXCEPTION
的假设下)的唯一情况似乎是内存所有位置错误,这些错误是。如果尝试进行数据库架构不允许的更改,则可能返回FALSE,由于像唯一值、外键、重复条目等约束,thnx。我相信我在某个地方(我不是sql专家)读到过,在MySQL中使用提交和回滚(?)有一些限制,但我必须再次查找。我确实从您的回答中得出结论,不管怎样,还是建议实施错误管理……有不同的存储引擎,它们可能会以不同的方式处理事务。我也不是这方面的专家,但我自己在mysql中没有遇到任何事务问题。错误管理无疑是一个很好的方法。然而,实现它的最佳方法仍然取决于谁以及如何使用它。当我尝试两次使用命名占位符时,PDOStatement::execute()为我返回了false。PDO::errorInfo()对解决这一问题没有帮助,因为它只提供了有关上一个有效查询的信息,