PDOのerrorinfo()
を使用します 機能
理由を知るために。
if( ! $sth = $db->query("SELECT * FROM titles ORDER BY RAND() LIMIT 1") ) {
die(var_export($db->errorinfo(), TRUE));
}
最新の更新
私の古い答えをより良くするために、エラー時に例外をスローするようにPDOを設定することは、すべての関数の戻り値をチェックするよりもはるかに管理しやすいです。
$dbh = new PDO($connstr, $user, $pwd);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
または、より簡潔に:
$dbh = new PDO($connstr, $user, $pwd, [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]);