PHP Portal » PHP Handbuch » oci_error

Werbung

oci_error


(PHP 5, PECL OCI8 >= 1.1.0)

oci_errorLiefert 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

PHP Code
1
2
3
4
5
$conn = @oci_connect("scott", "tiger", "mydb"); if (!$conn) { $e = oci_error(); // Bei oci_connect-Fehler ohne Handler echo htmlentities($e['message']); }

PHP Code
1
2
3
4
5
$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']); }

PHP Code
1
2
3
4
5
6
7
8
9
$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.