Aide sur requete d'jaout sql via form php

peanut -  
Barracuda8 Messages postés 108 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Voici ma requête sql

mysql_query("INSERT INTO `actions pm`
( PM, submitter, FORMATION, Datepropos, Commentaire, SOCIETE, BIEN, ceexistant, applicable )
VALUES('$PM', '$submitter', '$typemodif', '$date', '".$commentaire."', '$societe', '".$bien."', '".$ceexistant."', '')") or die(mysql_error());

Seulement, dans mon formulaire, le champ "commentaire" est susceptible de contenir des apostrophes.
Comment traduire cette requête pour tout s'exécute correctement ?

Merci d'avance pour votre aide.
Configuration: Windows XP
Internet Explorer 7.0

2 réponses

  1. Barracuda8 Messages postés 108 Date d'inscription   Statut Membre Dernière intervention   72
     
    Salut,

    Utilise les fonctions PHP addslashes (pour mettre en bdd) et stripslashes (pour recuperer de la bdd).

    Tu trouveras facilement des explications dessus.
    Par exemple:

    mysql_query("INSERT INTO `actions pm`
    ( PM, submitter, FORMATION, Datepropos, Commentaire, SOCIETE, BIEN, ceexistant, applicable )
    VALUES('$PM', '$submitter', '$typemodif', '$date', '".addslashes($commentaire)."', '$societe', '".$bien."', '".$ceexistant."', '')") or die(mysql_error());

    voir aussi:

    http://www.allhtml.com/articles/detail/249

    Bonne journée,
    Barracuda
    0
    1. peanut
       
      Salut et merci pour ta réactivité

      Ce que tu veux me dire donc, c'est qu'avant de faire mes requêtes, j'ajoute :

      // Ajout des backslashes
      $commentaire=addslashes($commentaire);

      Puis à la relecture (qui est pour moi dans un autre fichier PHP) j'écris :
      $commentaire=stripslashes($commentaire);


      Donc, dans ma base sql, les slashs apparaissent donc dans mon champ commentaire ?
      0
  2. Barracuda8 Messages postés 108 Date d'inscription   Statut Membre Dernière intervention   72
     
    Oui tu peut faire comme cela ou directement dans la requête comme je l'avais fait dans mon post précédent.

    Effectivement, l'ajout des backslahes se verra dans ta bdd, c'est pourquoi on utilise stripslashes pour les récupérer.
    0