oci_error

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

oci_errorRetorna o último erro encontrado

Descrição

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

Retorna o último erro encontrado.

A função deve ser chamada imediatamente após a ocorrência de um erro. Os erros são limpos por uma instrução bem-sucedida.

Parâmetros

connection_or_statement

Para a maioria dos erros, connection_or_statement é o identificador de recurso que foi passado para a chamada de função com falha. Para erros de conexão com oci_connect(), oci_new_connect() ou oci_pconnect() null deve se passado.

Valor Retornado

Se nenhum erro for encontrado, oci_error() retornará false. Caso contrário, oci_error() retornará as informações do erro como um array associativo.

Descrição do array de oci_error()
Chave do array Tipo Descrição
code int O número de erro do Oracle.
message string O texto de erro do Oracle.
offset int A posição do byte de um erro na instrução SQL. Se não houver nenhuma instrução, o valor será 0.
sqltext string O texto da instrução SQL. Se não houver instrução, será uma string vazia.

Registro de Alterações

Versão Descrição
8.0.0, PECL OCI8 3.0.0 connection_or_statement agora é anulável.

Exemplos

Exemplo #1 Exibindo a mensagem de erro do Oracle após um erro de conexão

<?php
$conn
= oci_connect("hr", "welcome", "localhost/XE");
if (!
$conn) {
$e = oci_error(); // Para erros oci_connect não informe um identificador
trigger_error(htmlentities($e['message']), E_USER_ERROR);
}
?>

Exemplo #2 Exibindo a mensagem de erro do Oracle após um erro de análise

<?php
$stid
= oci_parse($conn, "select ' from dual"); // observe aspas incompatíveis
if (!$stid) {
$e = oci_error($conn); // Para erros oci_parse passe o identificador de conexão
trigger_error(htmlentities($e['message']), E_USER_ERROR);
}
?>

Exemplo #3 Exibindo a mensagem de erro do Oracle, a instrução problemática e a posição do problema de um erro de execução

<?php
$stid
= oci_parse($conn, "select does_not_exist from dual");
$r = oci_execute($stid);
if (!
$r) {
$e = oci_error($stid); // Para erros oci_execute passe o identificador de instrução
print htmlentities($e['message']);
print
"\n<pre>\n";
print
htmlentities($e['sqltext']);
printf("\n%".($e['offset']+1)."s", "^");
print
"\n</pre>\n";
}
?>

adicione uma nota

Notas Enviadas por Usuários (em inglês)

Não há notas de usuários para esta página.
To Top