(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)
PDO::errorInfo — Retourne les informations associées à l'erreur lors de la dernière opération sur la base de données
PDO::errorInfo() retourne un tableau contenant des informations sur l'erreur survenu lors de la dernière opération exécutée par ce gestionnaire de base de données. Le tableau contient les champs suivants :
Élément | Information |
---|---|
0 | Code d'erreur SQLSTATE (un identifiant alphanumérique de cinq caractères défini dans le standard ANSI SQL). |
1 | Code d'erreur spécifique au driver. |
2 | Message d'erreur spécifique au driver. |
Note:
Si le code d'erreur SQLSTATE n'est pas défini ou s'il n'y a pas d'erreur spécifique du driver, l'élément suivant l'élément 0 sera défini à
NULL
.
PDO::errorInfo() retourne uniquement les informations des erreurs pour les opérations exécutées directement sur un gestionnaire de base de données. Si vous créez un objet PDOStatement avec la fonction PDO::prepare() ou la fonction PDO::query() et que vous invoquez une erreur sur le gestionnaire de requête, PDO::errorInfo() ne retournera pas l'erreur depuis le gestionnaire de requête. Vous devez appeler la fonction PDOStatement::errorInfo() pour retourner les informations sur l'erreur pour une opération exécutée sur un gestionnaire de requête particulier.
Exemple #1 Affiche les champs d'erreurs pour une connexion PDO_ODBC sur une base de données DB2
<?php
/* Provoque une erreur -- mauvaise syntaxe SQL */
$stmt = $dbh->prepare('mauvaise syntaxe sql');
if (!$stmt) {
echo "\nPDO::errorInfo():\n";
print_r($dbh->errorInfo());
}
?>
L'exemple ci-dessus va afficher :
PDO::errorInfo(): Array ( [0] => 42S02 [1] => -204 [2] => [IBM][CLI Driver][DB2/LINUX] SQL0204N "DANIELS.BONES" is an undefined name. SQLSTATE=42704 )