sql >> Databáze >  >> RDS >> Mysql

PDO::Query() vrací hodnotu false

Použijte PDO errorinfo() funkce abyste zjistili proč.

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

Pozdní aktualizace

V zájmu zlepšení mých starých odpovědí je nastavení PDO tak, aby vyvolávalo výjimky při chybě, mnohem lépe zvládnutelné než kontrola každého návratu funkce.

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

Nebo stručněji:

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



  1. Jak zálohovat databáze MySQL z příkazového řádku v Linuxu

  2. Aktualizujte řádek daty z jiného řádku ve stejné tabulce

  3. Vyberte sloupce v různých databázích

  4. Nesprávná hodnota řetězce:'\xEF\xBF\xBD' pro sloupec