PHP Handbuch
Zurück |  | Weiter

# oci_error

(PHP 5)

oci_error -- Liefert den letzten Fehler

## Beschreibung

array oci_error ( [resource source] )

Der Parameter ist, bei den meisten Fehlern, der geeignetste Ressourcen-Handler. Bei Verbindungsfehlern mit oci_connect(), oci_new_connect() oder oci_pconnect() sollte kein Parameter mitgegeben werden. Wenn kein Fehler gefunden wurde, liefert oci_error() `FALSE` zurück. Ein Fehler wird von oci_error() als assoziatives Array zurückgegeben. Das Array besteht aus `code`, das den Oracle-Errorcode enthält, und `message` mit dem Oracle-Fehlertext.

> Seit PHP 4.3: Im Rückgabe-Array sind nun `offset` und `sqltext` enthalten, die die Fehlerstelle anzeigen und den ursprünglichen SQL-Text, der den Fehler verusacht hat, beinhalten.

Beispiel 1. Zeigt die Oracle-Fehlermeldung nach einem Verbindungsfehler an

`$conn = @oci_connect("scott", "tiger", "mydb"); if (!$conn) { $e = oci_error(); // Bei oci_connect-Fehler ohne Handler echo htmlentities($e['message']); }`

Beispiel 2. Zeigt die Oracle-Fehlermeldung nach einem Parse-Error an

`$stmt = @oci_parse($conn, "select ' from dual"); // Fehlerhafte Quottierung if (!$stmt) { $e = oci_error($conn); // Bei oci_parse-Fehler mit Verbindungs-Handler echo htmlentities($e['message']); }`

Beispiel 3. Zeigt die Oracle-Fehlermeldung und das problematische Statement nach einem Ausführungsfehler

`$r = oci_execute($stmt); if (!$r) { $e = oci_error($stmt); // Bei oci_execute-Fehler mit Statement-Handle echo htmlentities($e['message']); echo "<pre>"; echo htmlentities($e['sqltext']); printf("\n%".($e['offset']+1)."s", "^"); echo "</pre>"; }`

> Anmerkung: In der PHP-Versionen vor 5.0.0 muss man ocierror() benutzen. Den Namen kann man immer noch nutzen. Er wurde als Alias für oci_error() für die Abwärtskompatibilität erhalten. Dieses ist allerdings veraltet und wird nicht empfohlen.

Zurück | Zum Anfang | Weiter
oci_define_by_name | Nach oben | oci_execute