PDO::errorCode
(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
Parameter-Liste
Diese Funktion besitzt keine Parameter.
Rückgabewerte
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.
Beispiele
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:
Siehe auch
- PDO::errorInfo() - Ruft die erweiterten Fehlerinformationen ab, die mit der letzten Operation
über das Datenbank-Handle verknüpft sind
- PDOStatement::errorCode() - Ruft den SQLSTATE-Code ab, der mit der letzten Operation über das
Anweisungs-Handle verknüpft ist
- PDOStatement::errorInfo() - Ruft die erweiterten Fehlerinformationen ab, die mit der letzten Operation
über das Anweisungs-Handle verknüpft sind