(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)
oci_error — Retorna o último erro encontrado
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.
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.
      
   Se nenhum erro for encontrado, oci_error() retornará
   false. Caso contrário, oci_error() retornará
   as informações do erro como um array associativo.
  
| 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. | 
| Versão | Descrição | 
|---|---|
| 8.0.0, PECL OCI8 3.0.0 | connection_or_statementagora é anulável. | 
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";
}
?>