Forum und email

oci_error

(PHP 5, PECL oci8:1.1-1.2.4)

oci_error — Retourne la dernière erreur Oracle

Description

array oci_error ([ resource $source ] )

Retourne la dernière erreur Oracle.

Liste de paramètres

source

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.

Valeurs de retour

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.

Historique

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.

Exemples

Example#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']);
}

Example#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']);
}

Example#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>";
}

Notes

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.