gpt4 book ai didi

php - 如何从 PDO 中挤出错误消息?

转载 作者:IT老高 更新时间:2023-10-28 12:06:35 27 4
gpt4 key购买 nike

我似乎无法从 PDO 收到任何错误消息:

#$dbh->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING );
try {
$sth = $dbh->prepare('@$%T$!!!');
print_r($sth);
print_r($dbh->errorInfo());
} catch (PDOException $e) {
echo $e->getMessage();
}

它只是给出:

PDOStatement Object
(
[queryString] => @$%T$!!!
)
Array
(
[0] => 00000
[1] =>
[2] =>
)

setAttribute 没有任何帮助。

这是 PHP 5.3.3 Apache 2.0 处理程序
启用 MySQL 的 PDO 驱动程序
客户端 API 版本 mysqlnd 5.0.7-dev - 091210 - $Revision: 300533 $

如何获取错误信息?

最佳答案

setAttribute 导致 PDO 抛出错误或异常 - 您执行查询时的最新情况。

对于模拟的预处理语句,prepare()中没有检查:

Emulated prepared statements does not communicate with the database server so PDO::prepare() does not check the statement.

但是当查询被发送到服务器时,execute() 中会有一个。

然而,自 mySQL 4.1 以来,mySQL 驱动程序支持 native 准备语句,因此这不应该适用。使用

$dbh->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );

必须导致您使用的查询出现异常。

关于php - 如何从 PDO 中挤出错误消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3726505/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com