oci_define_by_name
oci_execute
OCI8 Funktionen
PHP Manual

# oci_error

(PHP 5, PECL oci8:1.1-1.2.4)

oci_error — Liefert den letzten Fehler

### Beschreibung

array oci_error ([ resource `$source` ] )

Liefert den zuletzt gefundenen Fehler.

### Parameter-Liste

`source`

  Der Parameter ist, bei den meisten Fehlern, der am besten geeignete Ressourcen-Handler. Bei Verbindungsfehlern mit oci_connect(), oci_new_connect() oder oci_pconnect() keinen Parameter mitgeben.

### Rückgabewerte

Wenn kein Fehler gefunden wurde, liefert oci_error() `FALSE` zurück. Ein Fehler wird von oci_error() als assoziatives Array zurückgegeben. In diesem Array enthält code den Oracle-Errorcode und message den Oracle-Fehlertext.

### ChangeLog

Version | Beschreibung
--- | ---
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.

### Beispiele

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>";
}`

### Anmerkungen

> Hinweis: 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.

oci_define_by_name
oci_execute
OCI8 Funktionen
PHP Manual