Start · Sprachen · PHP · Referenz · cubrid_error_code

cubrid_error_code

Funktion

Gibt den numerischen Fehlercode des letzten CUBRID-Funktionsaufrufs zurück.

seit PHP 8.3.0 Kategorie: db

Signatur

cubrid_error_code(): int

Beschreibung

cubrid_error_code() liefert den internen CUBRID-Fehlercode, der beim zuletzt ausgeführten CUBRID-Funktionsaufruf aufgetreten ist. Diese Funktion ist vergleichbar mit mysql_errno() und ermöglicht eine differenzierte Fehlerbehandlung auf Basis numerischer Codes.

Die Funktion gibt 0 zurück, wenn kein Fehler aufgetreten ist. Bei einem Fehler wird eine negative ganze Zahl zurückgegeben, die dem CUBRID-internen Fehlercode entspricht. Diese Codes sind in der CUBRID-Dokumentation definiert und können zur gezielten Reaktion auf bestimmte Datenbankfehler verwendet werden.

Sinnvoll ist diese Funktion vor allem in Kombination mit cubrid_error_msg(), die die zugehörige Fehlermeldung im Klartext zurückgibt. Gemeinsam erlauben beide Funktionen eine vollständige Diagnose von Datenbankproblemen, etwa bei fehlgeschlagenen Verbindungen, ungültigen Abfragen oder Constraint-Verletzungen.

Zu beachten ist, dass der Fehlercode nach jedem CUBRID-Funktionsaufruf überschrieben wird. Daher sollte cubrid_error_code() unmittelbar nach dem fehlerhaften Aufruf abgerufen werden, bevor weitere CUBRID-Funktionen aufgerufen werden.

Rückgabewert

Typ
int
Beschreibung
Gibt den Fehlercode des letzten CUBRID-Funktionsaufrufs als ganze Zahl zurück. 0 bedeutet kein Fehler; ein negativer Wert entspricht dem CUBRID-internen Fehlercode.

Beispiele

Fehlerbehandlung nach fehlgeschlagener Verbindung

<?php
$conn = @cubrid_connect('localhost', 33000, 'nicht_vorhanden', 'dba', '');

if (!$conn) {
    $code = cubrid_error_code();
    $msg  = cubrid_error_msg();
    echo "Verbindungsfehler aufgetreten." . PHP_EOL;
    echo "Fehlercode: " . $code . PHP_EOL;
    echo "Fehlermeldung: " . $msg . PHP_EOL;
} else {
    echo "Verbindung erfolgreich." . PHP_EOL;
    cubrid_disconnect($conn);
}
Verbindungsfehler aufgetreten. Fehlercode: -677 Fehlermeldung: Cannot connect to a broker

Fehlercode nach ungültiger SQL-Abfrage prüfen

<?php
$conn = cubrid_connect('localhost', 33000, 'demodb', 'dba', '');

if ($conn) {
    $result = @cubrid_execute($conn, 'SELECT * FROM tabelle_existiert_nicht');

    if (!$result) {
        $code = cubrid_error_code();
        $msg  = cubrid_error_msg();

        // Bestimmten Fehler gezielt behandeln
        if ($code === -493) {
            echo "Tabelle oder View nicht gefunden." . PHP_EOL;
        } else {
            echo "Datenbankfehler (Code $code): $msg" . PHP_EOL;
        }
    }

    cubrid_disconnect($conn);
}
Tabelle oder View nicht gefunden.

// Wichtig · Fallstricke

Reihenfolge beachten: Der Fehlercode wird bei jedem CUBRID-Funktionsaufruf neu gesetzt. Wird nach einem Fehler noch ein weiterer CUBRID-Aufruf durchgeführt (z. B. ein Logging-Aufruf), bevor cubrid_error_code() aufgerufen wird, kann der ursprüngliche Fehlercode verloren gehen.

Fehlercode-Referenz: Die genaue Bedeutung der negativen Fehlercodes ist in der offiziellen CUBRID-Dokumentation nachzuschlagen, da sie sich je nach CUBRID-Version unterscheiden können.

Im Gegensatz zu cubrid_errno(), das verbindungsspezifische Fehler zurückgibt, liefert cubrid_error_code() den globalen letzten Fehlercode unabhängig von einer bestimmten Verbindungsressource.