Comment serrer message d'erreur de PDO?

Je ne peux pas sembler obtenir un message d'erreur du PDO:

#$dbh->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING );
try {
  $sth = $dbh->prepare('@$%T$!!!');
  print_r($sth);
  print_r($dbh->errorInfo());
} catch (PDOException $e) {
    echo $e->getMessage();
}

C'est de donner seulement:

PDOStatement Object
(
    [queryString] => @$%T$!!!
)
Array
(
    [0] => 00000
    [1] =>
    [2] =>
)

setAttribute n'aide pas quelque chose.

C'est PHP 5.3.3 Apache 2.0 Gestionnaire

Driver PDO pour MySQL est activé

Version de l'API Client mysqlnd 5.0.7-dev - 091210 - $Revision: 300533 $

Que puis-je faire pour obtenir les informations d'erreur?

  • Ce n' print_r($sth->errorInfo()) imprime ?
  • Je l'ai essayé aussi, il donne un tableau de 3 éléments vides