Fonctions OCI8
PHP Manual

oci_error

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

oci_errorRetourne la dernière erreur Oracle

Description

array oci_error ([ resource $resource ] )

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.

Liste de paramètres

resource

Pour la plupart des erreurs, le paramètre resource représente une ressource de connexion. Pour les erreurs de connexion avec les fonctions oci_connect(), oci_new_connect() ou oci_pconnect(), ne passez aucun paramètre.

Valeurs de retour

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.

Description du tableau retourné par oci_error()
Clé du tableau Type Description
code integer Le numéro d'erreur Oracle.
message string Le texte de l'erreur Oracle.
offset integer L'octet de position de l'erreur dans la requête SQL. S'il n'y a pas de requête, 0 sera 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.

Exemples

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";
}
?>


Fonctions OCI8
PHP Manual