(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)
oci_error — Retourne la dernière erreur Oracle
Retourne la dernière erreur Oracle.
La fonction doit être appelée immédiatement après qu'une erreur survient. Les erreurs sont réinitialisées après une requête réussie.
connection_or_statement
       Pour la plupart des erreurs, le paramètre connection_or_statement
       représente une ressource de connexion. Pour les erreurs de connexion avec les fonctions
       oci_connect(), oci_new_connect() ou
       oci_pconnect(), null doit être passé.
      
   Si aucune erreur n'est trouvée, oci_error() retourne
   false. Sinon, oci_error() retourne l'information concernant
   l'erreur sous la forme d'un tableau associatif.
  
| Clé du tableau | Type | Description | 
|---|---|---|
| code | int | Le numéro d'erreur Oracle. | 
| message | string | Le texte de l'erreur Oracle. | 
| offset | int | L'octet de position de l'erreur dans la requête SQL. S'il n'y a
        pas de requête, 0sera placé comme valeur. | 
| sqltext | string | Le texte de la requête SQL. S'il n'y a pas de requête, ce sera une chaîne vide. | 
| Version | Description | 
|---|---|
| 8.0.0, PECL OCI8 3.0.0 | connection_or_statementest désormais nullable. | 
Exemple #1 Exemple d'affichage d'un message d'erreur Oracle après une erreur de connexion
<?php
$conn = oci_connect("hr", "welcome", "localhost/XE");
if (!$conn) {
    $e = oci_error();   // Pour les erreurs oci_connect, ne passez pas de gestionnaire de connexion
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}
?>
Exemple #2 Exemple d'affichage d'un message d'erreur Oracle après une erreur d'analyse
<?php
$stid = oci_parse($conn, "select ' from dual");  // Notez l'erreur avec les guillemets
if (!$stid) {
    $e = oci_error($conn);  // Pour les erreurs oci_parse, passez le gestionnaire de connexion
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}
?>
Exemple #3 Exemple d'affichage d'un message d'erreur Oracle après une erreur d'exécution rencontré dans une requête SQL
<?php
$stid = oci_parse($conn, "select does_not_exist from dual");
$r = oci_execute($stid);
if (!$r) {
    $e = oci_error($stid);  // Pour les erreurs oci_execute, passez le gestionnaire de connexion
    print htmlentities($e['message']);
    print "\n<pre>\n";
    print htmlentities($e['sqltext']);
    printf("\n%".($e['offset']+1)."s", "^");
    print  "\n</pre>\n";
}
?>