Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

PDO::Query() retornando false


Use os DOPs errorinfo() função para descobrir por quê.
if( ! $sth = $db->query("SELECT * FROM titles ORDER BY RAND() LIMIT 1") ) {
  die(var_export($db->errorinfo(), TRUE));
}

Atualização tardia

No interesse de melhorar minhas respostas antigas, configurar o PDO para lançar exceções em caso de erro é muito mais gerenciável do que verificar cada retorno de função.
$dbh = new PDO($connstr, $user, $pwd);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

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