(PHP 5, PECL oci8:1.1-1.2.4)
oci_error — Retourne la dernière erreur Oracle
Retourne la dernière erreur Oracle.
Pour la plupart des erreurs, le paramètre source 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.
Si aucune erreur n'est trouvée, oci_error() retourne FALSE. oci_error() retourne l'erreur sous la forme d'un tableau associatif. Dans ce tableau, l'élément code contient le numéro d'erreur Oracle et message contient le message d'erreur.
Version | Description |
---|---|
4.3 | offset et sqltext seront aussi incluses dans le tableau retourné, pour indiquer la position de l'erreur et la requête en cause. |
Exemple #1 Exemple d'affichage d'un message d'erreur Oracle après une erreur de connexion
$conn = @oci_connect("scott", "tiger", "mydb");
if (!$conn) {
$e = oci_error(); // Pour les erreurs oci_connect, aucun paramètre n'est passé
echo htmlentities($e['message']);
}
Exemple #2 Exemple d'affichage d'un message d'erreur Oracle après une erreur d'analyse
$stmt = @oci_parse($conn, "select ' from dual"); // Notez l'erreur de guillemet
if (!$stmt) {
$e = oci_error($conn); // Pour les erreurs oci_parse, on passe la ressource de connexion
echo htmlentities($e['message']);
}
Exemple #3 Exemple d'affichage d'un message d'erreur Oracle après une erreur d'exécution
$r = oci_execute($stmt);
if (!$r) {
$e = oci_error($stmt); // Pour les erreurs oci_execute, on passe la ressource de traitement
echo htmlentities($e['message']);
echo "<pre>";
echo htmlentities($e['sqltext']);
printf("\n%".($e['offset']+1)."s", "^");
echo "</pre>";
}
Note: Dans les versions de PHP antérieures à la version 5.0.0, vous devez utiliser la fonction ocierror(). Cet ancien nom est toujours utilisable : un alias a été fait vers la fonction oci_error(), pour assurer la compatibilité ascendante. Toutefois, il est recommandé de ne plus l'utiliser.