sql >> Databasteknik >  >> RDS >> Mysql

PDO::Query() returnerar false

Använd PDO:s errorinfo() funktion för att ta reda på varför.

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

Sen uppdatering

För att göra mina gamla svar bättre är det mycket mer lätthanterligt att ställa in PDO för att ge undantag vid fel än att kontrollera varje funktionsretur.

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

Eller mer kortfattat:

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



  1. mysqli::mysqli():(HY000/2002):Kan inte ansluta till den lokala MySQL-servern via uttaget 'MySQL' (2)

  2. 5 Microsoft Access tips och tricks

  3. Använder variabel i SQL LIKE-satsen

  4. MySQL FIND_IN_SET() fungerar inte som förväntat