Probleme d'interpretation de mysql des quotes

Résolu/Fermé
tite_rabzouzz - 25 avril 2008 à 14:15
 FFTiger - 22 mai 2008 à 20:30
Bonjour,

j'ai un probleme avec un petit formulaire en php..
dans ce formulaire, jai un champ textarea, ou on peut entrer un description, ensuite les donnees sont recuperer et enregistré dans la base..
tout marche tres bien, mais que quand on ne met pas de simple quote dans cette description..
par exemple, lorsque je met cette description:

test: c'est une desciption.


me renvoi l'erreur suivante:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'est une desciption.','','','','','')' at line 1




si quelqu'un a une idee pour resoudre ce probleme..
je vous en remercie d'avance..

6 réponses

vite_fait_bien_fait
25 avril 2008 à 14:34
Salut

Il suffit de doubler les quotes dans le commentaire pour ne plus avoir de problème
0
tite_rabzouzz
25 avril 2008 à 14:40
dans mon formulaire:
<label>Description de l'annonce : </label>
<textarea name="P_description" cols="40" rows="15" id="description" value="" onkeyup="javascript:verifDescription(description);" ></textarea>

ensuite, pour la requete:
$local_description= $_POST["P_description"] ;

$requete="INSERT INTO annonce(email, date_annonce, titre, description, image1, image2, image3, image4, image5) VALUES ('$local_email','$local_date_annonce','$local_titre','$local_description','$local_image1','$local_image2','$local_image3','$local_image4','$local_image5');";


ou est-ce que je dois doubler les quotes??
ou est ce qu'il y a quelque chose a changer??
0
vite_fait_bien_fait
25 avril 2008 à 14:43
Il faut utiliser str_relpace sur $local_description pour remplacer les simple quotes ' en double simple quotes ''
0
tite_rabzouzz
25 avril 2008 à 14:50
merci beaucoup, ca marche grace a str_replace..
je ne connaissais pas cette fonction, je le saurais pour la prochaine fois! ! !

a plus!!!
0
Juste à titre indicatif, il faut toujours utiliser la fonction mysql_real_escape_string() et non un str_replace() quand on envoie une chaîne dans une requête SQL. Pour des raisons de sécurité (attaque par injection SQL). Pour qui tomberait comme moi sur ce poste.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tite_rabzouzz
25 avril 2008 à 14:30
...
-1
Il nous faudrait la ligne de ton script.
-1