Probleme d'interpretation de mysql des quotes

Résolu
tite_rabzouzz -  
 FFTiger -
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..
Configuration: Windows XP
Firefox 2.0.0.14

6 réponses

  1. vite_fait_bien_fait
     
    Salut

    Il suffit de doubler les quotes dans le commentaire pour ne plus avoir de problème
    0
  2. tite_rabzouzz
     
    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
    1. vite_fait_bien_fait
       
      Il faut utiliser str_relpace sur $local_description pour remplacer les simple quotes ' en double simple quotes ''
      0
  3. tite_rabzouzz
     
    merci beaucoup, ca marche grace a str_replace..
    je ne connaissais pas cette fonction, je le saurais pour la prochaine fois! ! !

    a plus!!!
    0
  4. FFTiger
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. MrSlave
     
    Il nous faudrait la ligne de ton script.
    -1