setAttribute va provoquer PDO pour jeter des erreurs ou des exceptions - au plus tard lorsque vous exécutez la requête.
Pour émulé déclarations préparées à l'avance, il n'y a pas de case en prepare()
:
Des émules les requêtes préparées ne pas communiquer avec le serveur de base de données donc, PDO::prepare() ne vérifie pas l'état.
Mais il y en aura dans execute()
lorsque la requête est envoyée au serveur.
Toutefois, le pilote mySQL prend en charge les requêtes préparées depuis mySQL 4.1, de toute façon, donc il ne devrait pas s'appliquer. À l'aide de
$dbh->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
doit provoquer une exception pour la requête que vous utilisez.