Bonjour,

Voila j'ai un probleme avec une requete

en fait j'ai un formulaire avec un champ nom, description et position, et une fosi que j'envoie le formulaire j'ai une requete qui doit créer un nouvel enregistrement dans la bdd

Le problème est lorsque je met une guillemet " dans un des champs texte.

Je déclate ma requete dans une variable pour commencer
Code : Sélectionner tout - Visualiser dans une fenêtre à part
$requete = 'insert into ma_table values (\''.$nom.'\', \''.$desc.'\', '.$pos.')';
ensuite je parse la requete
Code : Sélectionner tout - Visualiser dans une fenêtre à part
$stmt = oci_parse($connect, $requete) or die ("erreur à la création");
puis j'execute la requete
Code : Sélectionner tout - Visualiser dans une fenêtre à part
oci_execute($stmt, OCI_DEFAULT) or die ("erreur a l'execution");
Seulement si je met une guillemet dans un champ la requete plante a l'execution et aucune erreur n'est retournée lorsque je remplace le texte "erreur a l'execution" par la fonction oci_error() qui retourne la dernière erreur oracle (qui serait donc l'erreur due a la requete si elle était mauvaise). Or si elle ne retourne rien c'est qu'il n'y a pas d'erreur.

En effet lorsque j'affiche la requete et que lje la copie dans la console oracle, l'enregistrement est créé. Par contre en le créant vianla console oracle, la ligne n'apparait pas ensuite dans le naviguateur lorsque j'affiche via php la liste des enregistrements de la table ...

Help please

Merci d'avance