Signatur
Beschreibung
cubrid_errno() liefert den internen CUBRID-Fehlercode (als ganze Zahl) der letzten Datenbankoperation auf der angegebenen Verbindung. Ist kein Fehler aufgetreten, wird 0 zurückgegeben. Die Funktion entspricht konzeptionell mysql_errno() aus der MySQL-Extension.
Im Fehlerfall kann der numerische Code genutzt werden, um zwischen verschiedenen Fehlertypen (z. B. Verbindungsfehler, SQL-Syntaxfehler, Constraint-Verletzungen) zu unterscheiden und gezielt darauf zu reagieren. Den zugehörigen Fehlertext liefert die Schwester-Funktion cubrid_error().
Der optionale Parameter $conn_identifier gibt an, auf welche Verbindungsressource sich die Fehlerabfrage beziehen soll. Wird er weggelassen, bezieht sich die Funktion auf die zuletzt geöffnete CUBRID-Verbindung.
Typischer Einsatz ist eine Fehlerbehandlung unmittelbar nach einer CUBRID-Operation, z. B. nach cubrid_execute() oder cubrid_query(), um detailliert auf Datenbankfehler reagieren zu können.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $conn_identifier | resource | null | Die CUBRID-Verbindungsressource, deren Fehlercode abgerufen werden soll. Wird der Parameter weggelassen, wird die zuletzt geöffnete Verbindung verwendet. |
Rückgabewert
0 zurückgegeben.Beispiele
Fehlerbehandlung nach einer fehlgeschlagenen Abfrage
<?php
$conn = cubrid_connect('localhost', 33000, 'demodb', 'dba', '');
if (!$conn) {
die('Verbindung fehlgeschlagen: ' . cubrid_errno());
}
$result = cubrid_execute($conn, 'SELECT * FROM nicht_vorhandene_tabelle');
if (!$result) {
$errno = cubrid_errno($conn);
$errmsg = cubrid_error($conn);
echo "Fehlercode: $errno" . PHP_EOL;
echo "Fehlermeldung: $errmsg" . PHP_EOL;
} else {
// Ergebnis verarbeiten
cubrid_close_request($result);
}
cubrid_disconnect($conn);
Gezieltes Reagieren auf bestimmte Fehlercodes
<?php
$conn = cubrid_connect('localhost', 33000, 'demodb', 'dba', '');
$sql = "INSERT INTO produkte (id, name) VALUES (1, 'Testprodukt')";
$result = cubrid_execute($conn, $sql);
if (!$result) {
$errno = cubrid_errno($conn);
switch ($errno) {
case -670:
echo 'Primärschlüssel-Konflikt: Datensatz existiert bereits.' . PHP_EOL;
break;
case -61:
echo 'Keine Verbindung zur Datenbank.' . PHP_EOL;
break;
default:
echo "Unbekannter CUBRID-Fehler (Code: $errno): " . cubrid_error($conn) . PHP_EOL;
}
}
cubrid_disconnect($conn);
// Wichtig · Fallstricke
Hinweis zur Fehlerauswertung: CUBRID-Fehlercodes sind in der Regel negative Ganzzahlen. Eine vollständige Liste der CUBRID-Fehlercodes ist in der offiziellen CUBRID-Dokumentation zu finden, da PHP selbst keine Konstanten für diese Codes definiert.
Veraltete Extension: Die CUBRID-PHP-Extension wird in modernen PHP-Versionen (ab PHP 8.x) nur noch eingeschränkt gepflegt. Prüfen Sie vor dem Einsatz in neuen Projekten die Kompatibilität und Verfügbarkeit der Extension auf Ihrem System.
Reihenfolge beachten: cubrid_errno() muss unmittelbar nach der fehlgeschlagenen Operation aufgerufen werden, da der interne Fehlerstatus bei der nächsten Datenbankoperation überschrieben wird.