Ville bara tillägga till detta, hade liknande frustrationer från avsaknaden av ett felmeddelande.
För att stoppa PDO från att tyst misslyckas kan du ställa in felläget på PDO-anslutningen.
$dbh = new PDO();
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
Det finns också PDO::ERRMODE_WARNING
om du vill ha fel men ändå fortsätta.