本文介绍了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:

如何更好地描述错误,以便调试问题?

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.

这篇关于PDO错误消息?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-29 02:39