Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何处理PHP PDO execute()返回false?_Php - Fatal编程技术网

如何处理PHP PDO execute()返回false?

如何处理PHP PDO execute()返回false?,php,Php,php手册()在返回值中提到:“成功时返回TRUE,失败时返回FALSE。” 我正在用几个PDO::execute语句编写一个php脚本。当PHP:PDO确实返回FALSE时应该怎么做?停止整个脚本(调用exit())或继续或其他操作?Execute()返回false的可能原因是什么?还是说返回false仅仅是一种理论上的场景,在reel live中几乎从未发生过?这实际上取决于您执行的查询类型。如果它是事务的一部分,您可能希望回滚它。 如果它对后续的程序执行至关重要,那么您肯定要停止它并显示错

php手册()在返回值中提到:“成功时返回TRUE,失败时返回FALSE。”


我正在用几个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()对解决这一问题没有帮助,因为它只提供了有关上一个有效查询的信息,