サイトを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エラーログにも何も表示されません。誰かが私が間違っていることに光を当てることができますか?ありがとう。