Php/docs/function.oci-error
oci_error
(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)
oci_error — Returns the last error found
Description
oci_error
([ resource $resource
] ) : array
Returns the last error found.
The function should be called immediately after an error occurs. Errors are cleared by a successful statement.
Parameters
resource
- For most errors,
resource
is the resource handle that was passed to the failing function call. For connection errors with oci_connect(), oci_new_connect() or oci_pconnect() do not passresource
.
Return Values
If no error is found, oci_error() returns
FALSE
. Otherwise, oci_error() returns the
error information as an associative array.
Array key | Type | Description |
---|---|---|
code
|
int | The Oracle error number. |
message
|
string | The Oracle error text. |
offset
|
int | The byte position of an error in the SQL statement. If there
was no statement, this is |
sqltext
|
string | The SQL statement text. If there was no statement, this is
an empty string. |
Examples
Example #1 Displaying the Oracle error message after a connection error
<?php$conn = oci_connect("hr", "welcome", "localhost/XE");if (!$conn) { $e = oci_error(); // For oci_connect errors do not pass a handle trigger_error(htmlentities($e['message']), E_USER_ERROR);}?>
Example #2 Displaying the Oracle error message after a parsing error
<?php$stid = oci_parse($conn, "select ' from dual"); // note mismatched quoteif (!$stid) { $e = oci_error($conn); // For oci_parse errors pass the connection handle trigger_error(htmlentities($e['message']), E_USER_ERROR);}?>
Example #3 Displaying the Oracle error message, the problematic statement, and the position of the problem of an execution error
<?php$stid = oci_parse($conn, "select does_not_exist from dual");$r = oci_execute($stid);if (!$r) { $e = oci_error($stid); // For oci_execute errors pass the statement handle print htmlentities($e['message']); print "\n<pre>\n"; print htmlentities($e['sqltext']); printf("\n%".($e['offset']+1)."s", "^"); print "\n</pre>\n";}?>