oci_error
(PHP 5, PECL OCI8 >= 1.1.0)
oci_error — Devuelve el último error encontrado
Descripción
$resource
] )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,
resourcees 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 paseresource.
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.
| Clave del array | Tipo | Descripción |
|---|---|---|
| code | integer | El número de error de Oracle. |
| message | string | El texto del error de Oracle. |
| offset | integer | La posición del byte de un error en una sentencia SQL. Si no existiera tal sentencia, este valor será 0 |
| sqltext | string | 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";
}
?>