oci_error

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

oci_errorDevuelve el último error encontrado

Descripción

oci_error(resource$resource = ?): array

Devuelve el último error encontrado.

La función debería ser invocada inmediatamente después de que ocurra un error. Los errores son limpiados por una sentencia que tenga éxito.

Parámetros

resource

Para la mayoría de errores, resource es el gestor de recurso que fue pasado a la función que falló. Para errores de conexión con oci_connect(), oci_new_connect() o oci_pconnect(), no pase resource.

Valores devueltos

Si no se encontró ningún error, oci_error() devuelve false. De lo contrario, oci_error() devuelve la información del error como un array asociativo.

Descripción del array de oci_error()
Clave del arrayTipoDescripción
codeinteger El número de error de Oracle.
messagestring El texto del error de Oracle.
offsetinteger La posición del byte de un error en una sentencia SQL. Si no existiera tal sentencia, este valor será 0
sqltextstring El texto de la sentencia SQL. Si no existiera tal sentencia, este valor será una cadena vacía.

Ejemplos

Ejemplo #1 Mostrar el mensaje de error de Oracle después de un error de conexión

<?php
$conn
= oci_connect("hr", "welcome", "localhost/XE");
if (!
$conn) {
$e = oci_error(); // Para errores de oci_connect errors, no pase un gestor
trigger_error(htmlentities($e['message']), E_USER_ERROR);
}
?>

Ejemplo #2 Mostrar el mensaje de error de Oracle después de un error de análisis

<?php
$stid
= oci_parse($conn, "select ' from dual"); // observe la comilla simple dispareja
if (!$stid) {
$e = oci_error($conn); // Para errores de oci_parse, pase el gestor de conexión
trigger_error(htmlentities($e['message']), E_USER_ERROR);
}
?>

Ejemplo #3 Mostrar el mensaje de error de Oracle, la sentencia problemática, y la posición del problema en un error de ejecución

<?php
$stid
= oci_parse($conn, "select does_not_exist from dual");
$r = oci_execute($stid);
if (!
$r) {
$e = oci_error($stid); // Para errores de oci_execute, pase el gestor de sentencia
print htmlentities($e['message']);
print
"\n<pre>\n";
print
htmlentities($e['sqltext']);
printf("\n%".($e['offset']+1)."s", "^");
print
"\n</pre>\n";
}
?>
To Top