(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)
PDO::errorCode — Ruft den SQLSTATE-Code ab, der mit der letzten Operation über das Datenbank-Handle verknüpft ist
Diese Funktion besitzt keine Parameter.
Gibt einen SQLSTATE zurück, eine fünfstellige alphanumerische Kennung, die im ANSI SQL-92-Standard definiert ist. Kurz gesagt besteht ein SQLSTATE aus einem zweistelligen Klassenwert, gefolgt von einem dreistelligen Unterklassenwert. Ein Klassenwert von 01 steht für eine Warnung und wird vom Rückgabewert SQL_SUCCESS_WITH_INFO begleitet. Alle anderen Klassenwerte mit Ausnahme der Klasse "IM" weisen auf einen Fehler hin. Die Klasse "IM" ist spezifisch für Warnungen und Fehler, die sich aus der Implementierung von PDO (oder ODBC, wenn der ODBC-Treiber verwendet wird) selbst ergeben. Der Unterklassenwert "000" in einer Klasse zeigt an, dass es keine Unterklasse für diesen SQLSTATE gibt.
PDO::errorCode() ruft Fehlercodes nur bei Operationen ab, die direkt auf dem 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::errorCode() diesen Fehler nicht an. Um den Fehlercode einer Operation zu erhalten, die mit einem bestimmten Anweisungs-Handle durchgeführt wurde, muss PDOStatement::errorCode() aufgerufen werden.
Gibt null
zurück, wenn keine Operation über das Datenbank-Handle
ausgeführt wurde.
Beispiel #1 Abrufen eines SQLSTATE-Codes
<?php
/* Auslösen eines Fehlers - die Tabelle BONES existiert nicht */
$dbh->exec("INSERT INTO bones(skull) VALUES ('lucy')");
echo "\nPDO::errorCode(): ", $dbh->errorCode();
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
PDO::errorCode(): 42S02