sql >> Base de Datos >  >> RDS >> Mysql

PDO::Query() devolviendo falso

Use el errorinfo() de PDO función para averiguar por qué.

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

Actualización tardía

Con el fin de mejorar mis respuestas anteriores, configurar PDO para que genere excepciones en caso de error es mucho más manejable que verificar el retorno de cada función.

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

O, más concisamente:

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