PHP
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

oci_execute> <oci_define_by_name
Last updated: Fri, 10 Oct 2008

view this page in

oci_error

(PHP 5, PECL oci8:1.1-1.2.4)

oci_errorRetourne 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

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

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.



add a note add a note User Contributed Notes
oci_error
bjanetzki at mpmail.net
02-Nov-2004 12:32
The second example (Displaying the Oracle error message after a parsing error) is wrong.
This example works for me:

$stmt = @oci_parse($conn, "select ' from dual");  // note mismatched quote
if (!$stmt) {
  $e = oci_error($conn);  // For oci_parse errors pass the connection handle
  echo htmlentities($e['message']);
}

oci_execute> <oci_define_by_name
Last updated: Fri, 10 Oct 2008
 
 
show source | credits | stats | sitemap | contact | advertising | mirror sites