(PHP 5, PECL oci8 >= 1.1.0)
oci_error — Returns the last error found
Returns the last error found.
For most errors, the parameter is the most appropriate resource handle. For connection errors with oci_connect(), oci_new_connect() or oci_pconnect() do not pass a parameter.
If no error is found, oci_error() returns FALSE. oci_error() returns the error as an associative array. In this array, code consists the oracle error code and message the oracle error string.
Version | Description |
---|---|
4.3 | offset and sqltext will also be included in the return array to indicate the location of the error and the original SQL text which caused it. |
Example #1 Displaying the Oracle error message after a connection error
$conn = @oci_connect("scott", "tiger", "mydb");
if (!$conn) {
$e = oci_error(); // For oci_connect errors pass no handle
echo htmlentities($e['message']);
}
Example #2 Displaying the Oracle error message after a parsing error
$stmt = @oci_parse($conn, "select ' from dual"); // note mismatched quote
if (!$stmt) {
$e = oci_error($conn); // For oci_parse errors pass the connection handle
echo htmlentities($e['message']);
}
Example #3 Displaying the Oracle error message and problematic statement after an execution error
$r = oci_execute($stmt);
if (!$r) {
$e = oci_error($stmt); // For oci_execute errors pass the statementhandle
echo htmlentities($e['message']);
echo "<pre>";
echo htmlentities($e['sqltext']);
printf("\n%".($e['offset']+1)."s", "^");
echo "</pre>";
}
Note: In PHP versions before 5.0.0 you must use ocierror() instead. This name still can be used, it was left as alias of oci_error() for downwards compatability. This, however, is deprecated and not recommended.