PDO 错误信息?
这是我的代码片段:
$qry = '
INSERT INTO non-existant-table (id, score)
SELECT id, 40
FROM another-non-existant-table
WHERE description LIKE "%:search_string%"
AND available = "yes"
ON DUPLICATE KEY UPDATE score = score + 40
';
$sth = $this->pdo->prepare($qry);
$sth->execute($data);
print_r($this->pdo->errorInfo());
这应该给我一个错误,因为这些表甚至不存在.然而,我得到的只是这个:
This should give me an error because the tables don't even exist. All I get however is this:
数组 ( [0] => 00000 )
Array ( [0] => 00000 )
如何更好地描述错误以便调试问题?
How can I get a better description of the error so I can debug the issue?
推荐答案
试试这个:
print_r($sth->errorInfo());
在准备之前添加:
$this->pdo->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING );
这将更改 PDO 错误报告类型并使其在出现 PDO 错误时发出警告.它应该可以帮助你追踪它,虽然你的 errorInfo 应该已经下注了.
This will change the PDO error reporting type and cause it to emit a warning whenever there is a PDO error. It should help you track it down, although your errorInfo should have bet set.
相关文章