Partage
  • Partager sur Facebook
  • Partager sur Twitter

mysql_real_escape_string

Enregistrer dans la base données

Sujet résolu
Anonyme
    12 novembre 2010 à 18:17:56

    Bonjour, j'utilise mysql_real_escape_string pour ces données

    Récupération d'un formulaire:

    $Usager = mysql_real_escape_string($_POST['Usager']);
    $Password = mysql_real_escape_string($_POST['Password']);

    Enregistrement dans la base de données:

    $sql = mysql_query("INSERT INTO `TP3_USAGERS` (`Usager` ,`Password`)
    VALUES ('$Usager', '$Password');");

    Par contre, si je retourne dans ma base de données. Il n'y a rien d'inscrit dans les colonnes Usager et Password.

    Que faire? Merci!
    • Partager sur Facebook
    • Partager sur Twitter
      12 novembre 2010 à 18:32:22

      Ta requête renvoie une erreur, affiche-la à l'aide de mysql_error.
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        12 novembre 2010 à 18:44:45

        Non ma requête ne renvoie aucune erreur.
        • Partager sur Facebook
        • Partager sur Twitter
          12 novembre 2010 à 18:46:09

          Ok, donc ta requête insère bien une ligne dans ta table, tu peux passer ton sujet en résolu.
          • Partager sur Facebook
          • Partager sur Twitter
            12 novembre 2010 à 18:46:34

            A insérer après la requête :

            var_dump( $_POST );
            var_dump( $sql );
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              12 novembre 2010 à 19:01:48

              oui il y a bien une ligne insérée dans ma table. Voici cette ligne:

              $CategorieUsager='membre';
              $Prenom=$_POST['Prenom'];
              $Nom=$_POST['Nom'];
              $Courriel=$_POST['Courriel'];
              $Jour=$_POST['Jour'];
              $Mois=$_POST['Mois'];
              $Annee=$_POST['Annee'];
              $Sexe=$_POST['Sexe'];
              $Usager=$_POST['Usager'];
              $Password = mysql_real_escape_string($_POST['Password']);
              $Theme=$_POST['Theme'];

              Tous les autres données sont affichées dans ma table sauf pour le Password ou j'utilise mysql_real_escape_string. Il y a un espace blanc dans ma base au champ Password. En fait, j'utilise la fonction mysql_real_escape_string pour répondre à une question de mon TP ou il est mentionné d'utiliser la fonction mysql_real_escape_string pour contrer les attaques par injection SQL.
              • Partager sur Facebook
              • Partager sur Twitter
                12 novembre 2010 à 19:18:53

                mysql_real_escape_string doit être utilisé sur tous les paramètres sinon tu as un risque d'injection...
                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  12 novembre 2010 à 19:24:34

                  oui je sais, mais je veux vérifier avant avec le Password. Après je vais utiliser mysql_real_escape_string sur les autres variables. Mais je l'ai déjà testé. $Prenom=$_POST['Prenom']; fonctionne mais pas
                  $Prenom = mysql_real_escape_string($_POST['Prenom']);
                  • Partager sur Facebook
                  • Partager sur Twitter
                    12 novembre 2010 à 19:27:00

                    affiche ta requête avant de l'exécuter
                    • Partager sur Facebook
                    • Partager sur Twitter
                    Anonyme
                      12 novembre 2010 à 19:54:37

                      Comment on fait?
                      • Partager sur Facebook
                      • Partager sur Twitter
                        12 novembre 2010 à 22:02:49

                        ben, remplace mysql_query par echo !
                        • Partager sur Facebook
                        • Partager sur Twitter

                        mysql_real_escape_string

                        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                        • Editeur
                        • Markdown