IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

apostrophe et mysql_real_escape_string


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 8
    Par défaut apostrophe et mysql_real_escape_string
    Bonjour,
    Merci d'avance pour votre aide. J'essaye depuis 3 heures de resoudre mon pb.
    Je n'arrive pas à enregistrer un texte (si celui-ci comporte une apostrophe.
    j'ai essayé de rajouter mysql_real_escape_string dans mon php. Mais je du mal mi prendre (il ne le prendre pas en compte).
    Ci-joint le code.
    Si vous pouviez jeter un coup d'oeil. (ma fonction mysql_real_escape_string en fin de code doit être mal codé).

    c'est codé pour amfphp (donc il y a function etc)
    Merci d'avance pour votre aide.

    voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    function products(){
            $this->methodTable = array(
                "getItems" => array(
                  "description" => "Returns products table",
                  "access" => "remote" // available values are private, public, remote
                  //"arguments" => array ("message")
                ),
                "setItems" => array(
                  "description" => "Echoes the passed argument back to Flash (no need to set the return type)",
                  "access" => "remote", // available values are private, public, remote
                  "arguments" => array ("rs")
                )
            );
     
                // Initialize db connection
                $this->conn = mysql_pconnect($this->dbhost, $this->dbuser, $this->dbpass);
                mysql_select_db ($this->dbname);
     
          }
          function getItems(){
            return mysql_query("select * from list");
          }
          function setItems($rs){
           $error = false;
            for($i=0; $i<sizeof($rs); $i++){
                $result = mysql_query("replace into list values('".$rs[$i]['PkProduct']."', '".$rs[$i]['Poste']."', '".$rs[$i]['Lieu']."', '".$rs[$i]['Description']."')");
                if(!$result) $error = true;
            }
            if(!$error) return "Ok"; else return "Error";
          }
        // transforme une string pour éviter l'injection ou les apostrophes et guillements
        // Note: mysql_escape_string est recommandé, il est plus sécure que addslashes
        function escape($param)
            {
     
                   // return mysql_escape_string($param);
                    // ou bien si on veut préciser la connexion courante :
                             return mysql_real_escape_string($param, $this->conn);
            }
    }
     
     
    ?>

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Par défaut
    Bonsoir, ta fonction escape a deux returns.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 8
    Par défaut
    C'est le copier coller qui a merdé, . Mais j'ai toujours mon pb. j'ai essayé de remplacer ($param) par ($result) et $rs.Mais rien n'y fait.
    Les apostrophes sont dans :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $result = mysql_query("replace into list values('".$rs[$i]['PkProduct']."', '".$rs[$i]['Poste']."', '".$rs[$i]['Lieu']."', '".$rs[$i]['Description']."')");
    Mais je vois pas comment mettre mysql_real_escape_string.
    MErci d'avance pour votre aide.

  4. #4
    Inactif
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 179
    Par défaut
    J'ai trouvé : t'appelles jamais escape.

  5. #5
    Membre éclairé
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Avril 2006
    Messages : 264
    Par défaut
    utilise la fonction stripslashes !

  6. #6
    Inactif
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 179
    Par défaut
    Citation Envoyé par temperature Voir le message
    utilise la fonction stripslashes !
    Euh, non.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Pb apostrophes et replace access2000
    Par xycoco dans le forum Access
    Réponses: 8
    Dernier message: 06/10/2004, 15h11
  2. Réponses: 3
    Dernier message: 10/06/2004, 22h34
  3. Apres l'accent l'apostrophe
    Par man80 dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 04/05/2004, 16h47
  4. Stocker un apostrophe
    Par Bowen dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 11/03/2004, 00h00
  5. Problème avec les apostrophes
    Par misterbillyboy dans le forum Requêtes
    Réponses: 2
    Dernier message: 15/07/2003, 16h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo