我只是将网站转换为PDO,这是我第一次接触到它,但我很难从PDO获取任何有用的错误信息。我已经阅读了许多关于这个主题的其他文章,但他们似乎没有提供一个适合我的解决方案。如何检索PDO错误信息?
下面是代码:
try {
$dbh = new PDO("mysql:host=".CO_DB_HOST.";dbname=".CO_DB_NAME, CO_DB_UNAME, CO_DB_PWORD);
$dbh ->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $e) {
echo $e->getMessage();
}
function addRec($data) {
global $part_id, $dbh;
$part_id++;
try {
$sth=$dbh->prepare("
INSERT INTO
non_existent_table
(
name
) VALUES (
?
);
");
for ($i = 0; $i < count($data); $i++) {
$sth->execute($data[$i]);
}
}
catch(PDOException $e) {
echo "Something went wrong. Please report this error.";
file_put_contents('/PDOErrors.txt', PDOStatement::errorInfo(), FILE_APPEND);
}
}
// Insert a database record
$data = array(
array(
'joe blogs', /* name */
)
);
addRec($data);
该表不存在,但我发现在PDOError.txt在我的httpd的错误日志中没有错误,没有什么。请问有人可以解释我做错了吗?谢谢。
检查此http://php.net/manual/en/pdostatement.errorinfo.php – Namal