Mysql
 sql >> Datenbank >  >> RDS >> Mysql

PDO::Query() gibt false zurück

Verwenden Sie errorinfo() von PDO Funktion um herauszufinden, warum.

if( ! $sth = $db->query("SELECT * FROM titles ORDER BY RAND() LIMIT 1") ) {
  die(var_export($db->errorinfo(), TRUE));
}

Spätes Update

Um meine alten Antworten zu verbessern, ist es viel einfacher, PDO so einzustellen, dass es bei Fehlern Ausnahmen auslöst, als jede Funktionsrückgabe zu überprüfen.

$dbh = new PDO($connstr, $user, $pwd);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

Oder kürzer:

$dbh = new PDO($connstr, $user, $pwd, [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]);