OCI8 Funciones
PHP Manual

oci_error

(PHP 5, PECL OCI8 >= 1.1.0)

oci_errorReturns the last error found

Descripción

array oci_error ([ resource $resource ] )

Returns the last error found.

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

Parámetros

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 pass resource.

Valores devueltos

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 Descripción
code integer The Oracle error number.
message string The Oracle error text.
offset integer 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.

Historial de cambios

Versión Descripción
4.3.0 The offset and sqltext entries were added.

Ejemplos

Ejemplo #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);
}
?>

Ejemplo #2 Displaying the Oracle error message 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
    
trigger_error(htmlentities($e['message']), E_USER_ERROR);
}
?>

Ejemplo #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";
}
?>

Notas

Nota:

In PHP versions before 5.0.0 you must use ocierror() instead. El nombre viejo de la función todavía puede ser utilizado en versiones actuales, sin embargo es obsoleto y no se recomienda.


OCI8 Funciones
PHP Manual