(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)
PDO::errorInfo — Ruft die erweiterten Fehlerinformationen ab, die mit der letzten Operation über das Datenbank-Handle verknüpft sind
Diese Funktion besitzt keine Parameter.
PDO::errorInfo() gibt ein Array mit Informationen über den Fehler zurück, der bei der letzten über dieses Datenbank-Handle durchgeführte Operation aufgetreten ist. Das Array besteht mindestens aus den folgenden Feldern:
Element | Information |
---|---|
0 | SQLSTATE-Fehlercode (eine fünfstellige alphanumerische Kennung, die im ANSI-SQL-Standard definiert ist) |
1 | Treiberspezifischer Fehlercode |
2 | Treiberspezifische Fehlermeldung |
Hinweis:
Wenn kein SQLSTATE-Fehlercode definiert ist oder kein treiberspezifischer Fehler vorliegt, werden die auf Element 0 folgenden Elemente auf
null
gesetzt.
PDO::errorInfo() ruft Informationen über Fehler nur bei Operationen ab, die direkt über das Datenbank-Handle ausgeführt werden. Wenn ein PDOStatement-Objekt mittels PDO::prepare() oder PDO::query() erzeugt wird und ein Fehler auf dem Anweisungs-Handle auftritt, zeigt PDO::errorInfo() diesen Fehler nicht an. Um Informationen über den Fehler einer Operation zu erhalten, die über ein bestimmtes Anweisungs-Handle durchgeführt wurde, muss PDOStatement::errorInfo() aufgerufen werden.
Beispiel #1 Anzeigen der errorInfo()-Felder einer PDO_ODBC-Verbindung zu einer DB2-Datenbank
<?php
/* Auslösen eines Fehlers - fehlerhafte SQL-Syntax */
$stmt = $dbh->prepare('bogus sql');
if (!$stmt) {
echo "\nPDO::errorInfo():\n";
print_r($dbh->errorInfo());
}
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
PDO::errorInfo(): Array ( [0] => HY000 [1] => 1 [2] => near "bogus": syntax error )