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 tableauTypeDescription
codeint Le numéro d'erreur Oracle.
messagestring Le texte de l'erreur Oracle.
offsetint 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.
sqltextstring Le texte de la requête SQL. S'il n'y a pas de requête, ce sera une chaîne vide.

Historique

VersionDescription
8.0.0, PECL OCI8 3.0.0connection_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";
}
?>
To Top