Obtention Message d'Erreur Pour oci_execute() Erreur (PHP)
Je voudrais obtenir le message d'erreur spécifique si une requête échoue dans Oracle 10g. Pour MySQL, PHP a la mysql_error() fonction qui permet de renvoyer les détails sur les raisons d'un échec de la requête. - Je vérifier l'php.net manuel pour la oci_execute() de la fonction, mais de ce que je vois il ne retourne false en cas d'échec.
J'ai essayé d'utiliser oc_error(), mais je ne suis pas d'obtenir quelque chose de lui.
Voici un exemple de code:
$err = array();
$e = 0;
//Cycle through all files and insert new records into database
for($f=0; $f<sizeof($files); $f++)
{
$invoice_number = $files[$f]['invoice_number'];
$sold_to = $files[$f]['sold_to'];
$date = $files[$f]['date'];
$sql = "insert into invoice (dealer_id, invoice_number, invoice_date)
values ('$sold_to', '$invoice_number', '$date')";
$stid = oci_parse($conn, $sql);
$result = oci_execute($stid);
//If query fails
if(!$result)
{
$err[$e] = oci_error();
$e++;
}
}
print_r($err);
Réponse pour print_r($err):
Array ( [0] => [1] => [2] => [3] => [4] => [5] => [6] => [7] => [8] => )
Vous devez vous connecter pour publier un commentaire.
Avez-vous essayé de passer $stid à oci_error?
La
oci_error()
fonction prend un argument qui spécifie le contexte de l'erreur. En passant il aucun argument ne fonctionne que pour certains types d'erreurs de connexion. Ce que vous voulez faire est de passer la analysée déclaration de ressources, comme suit:(Note également que la valeur de retour de
oci_error
est un tableau, donc j'ai affecté l'ensemble de la sortie de votre$err
variable de tableau)