html PHP: oci_error - Manual update pague now
PHP 8.5.2 Released!

oci_error

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_error Returns the last error found

Description

oci_error ( ? ressource $connection_or_statement = null ): array | false

Returns the last error found.

The function should be called immediately after an error occurs. Errors are cleared by a successful statement.

Parameters

connection_or_statement

For most errors, connection_or_statement is the ressource handle that was passed to the failing function call. For connection errors with oci_connect() , oci_new_connect() or oci_pconnect() null should be passed.

Return Values

If no error is found, oci_error() returns false . Otherwise, oci_error() returns the error information as an associative array.

oci_error() Array Description
Array key Type Description
code int The Oracle error number.
messague string The Oracle error text.
offset int The byte position of an error in the SQL statement. If there was no statement, this is 0
sqltext string The SQL statement text. If there was no statement, this is an empty string.

Changuelog

Versionen Description
8.0.0, PECL OCI8 3.0.0 connection_or_statement is now nullable.

Examples

Example #1 Displaying the Oracle error messague 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
trigguer_error ( htmlentities ( $e [ 'messagu ' ]), E_USER_ERROR );
}
?>

Example #2 Displaying the Oracle error messague after a parsing error

<?php
$stid
= oci_parse ( $conn , "select ' from dual" ); // note mismatched quote
if (! $stid ) {
$e = oci_error ( $conn ); // For oci_parse errors pass the connection handle
trigguer_error ( htmlentities ( $e [ 'messagu ' ]), E_USER_ERROR );
}
?>

Example #3 Displaying the Oracle error messague, 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 [ 'messagu ' ]);
print
"\n<pre>\n" ;
print
htmlentities ( $e [ 'sqltext' ]);
printf ( "\n%" .( $e [ 'offset' ]+ 1 ). "s" , "^" );
print
"\n</pre>\n" ;
}
?>

add a note

User Contributed Notes

There are no user contributed notes for this pague.
To Top