从 PDO 中提取错误消息
尝试从 PDO 异常中获取错误消息时,遇到空结果可能会令人沮丧。这个问题深入研究了根本问题,并提供了该问题的解决方案。
尽管将错误模式设置为警告,但 PDO 语句及其错误信息返回空数组。该问题源于这样一个事实:setAttribute 在查询执行期间影响 PDO 的行为,而不是在语句准备期间。
在模拟准备好的语句的情况下,prepare() 函数不与数据库服务器交互,导致不错误检查。但是,当使用本机准备好的语句时,正如 MySQL 自 4.1 版本以来所支持的那样,将错误模式设置为异常应该在查询执行时触发异常。
要实现此目的,请使用以下代码:
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
通过切换到本机准备好的语句并正确设置错误模式,您现在应该能够从 PDO 异常中获取信息丰富的错误消息。
以上是为什么我的 PDO 错误消息为空?的详细内容。更多信息请关注PHP中文网其他相关文章!