Просто исках да добавя към това, имах подобни разочарования от липсата на съобщение за грешка.
За да спрете PDO да се проваля безшумно, можете да зададете режима на грешка в PDO връзката.
$dbh = new PDO();
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
Има също PDO::ERRMODE_WARNING
ако искате грешки, но все пак продължете.