PHP 8.3.4 Released!

oci_error

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

oci_errorRetourne la dernière erreur Oracle

Description

oci_error(?resource $connection_or_statement = null): array|false

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

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é.

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 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, 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.

Historique

Version Description
8.0.0, PECL OCI8 3.0.0 connection_or_statement est désormais nullable.

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

add a note

User Contributed Notes 1 note

up
-31
alvaro at demogracia dot com
9 years ago
Please note that, unlike equivalent functions in other DB extensions, skipping the resource argument is not synonym for "just get last error".
To Top