PHP
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

oci_execute> <oci_define_by_name
Last updated: Fri, 22 Aug 2008

view this page in

oci_error

(PHP 5, PECL oci8:1.1-1.2.4)

oci_errorReturns the last error found

Description

array oci_error ([ resource $source ] )

Returns the last error found.

Parameters

source

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.

Return Values

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.

ChangeLog

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.

Examples

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

Notes

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.



add a note add a note User Contributed Notes
oci_error
bjanetzki at mpmail.net
02-Nov-2004 09:32
The second example (Displaying the Oracle error message after a parsing error) is wrong.
This example works for me:

$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']);
}

oci_execute> <oci_define_by_name
Last updated: Fri, 22 Aug 2008
 
 
show source | credits | sitemap | contact | advertising | mirror sites