我只是將網站轉換爲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