Requete sql qui ne passe pas
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:
$requete = 'insert into ma_table values (\''.$nom.'\', \''.$desc.'\', '.$pos.')';
ensuite je parse la requete
Code:
$stmt = oci_parse($connect, $requete) or die ("erreur à la création");
puis j'execute la requete
Code:
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