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

PHP & Base de données Discussion :

Utilisation de la fonction mysql_real_escape_string [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé Avatar de zabdaniel
    Profil pro
    Inscrit en
    Février 2007
    Messages
    175
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 175
    Par défaut Utilisation de la fonction mysql_real_escape_string
    Salut
    J'ai un problème avec la fonction mysql_real_escape_string
    Voici mon code initial :
    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
     
    sql="select * from base_articles where id='$valeur'";
    $req=mysql_query($sql)or exit ('Erreur SQL !'.$sql.'<br>'.mysql_error());
    while( $data=mysql_fetch_array($req) )
     
    {
    // mysql_fetch_array retourne un tableau qui contient la ligne demandée dans le résultat $req et déplace le pointeur de données interne d'un cran.
    $nom=$data['DESCRIPTIONFRANCAISE']; // nom de la fleur
    $designation =$data['DESIGNATION']; // DESIGNATION 
    $specifications =$data['SPECIFICATIONS'];
    $famille =$data['FAMILLE'];
     
     
    //recuperation de l'id 
    $id_commandes = $id; 
     
    $sql ="INSERT INTO article_commande (id, id_commandes, nom, qte, designation)VALUES ('','$id_commandes','$nom','$cde','$designation')";
    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());  
    } // while
    Pour ne plus avoir le message d'erreur suivant :
    Erreur SQL !INSERT INTO article_commande (id, id_commandes, nom, qte, designation)VALUES ('','174','Conversion chimique de l'aluminium, pellicule chimique jaune','236','TURCOAT ACCELAGOLD PART A bidon 10 kg')
    Erreur de syntaxe près de 'aluminium, pellicule chimique jaune','236','TURCOAT ACCELAGOLD P' à la ligne 1

    Voici ce que j'ai essayé de modifier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sql =sprintf("INSERT INTO article_commande (id, id_commandes, nom, qte, designation)VALUES ('','$id_commandes','$nom','$cde','$designation')",mysql_real_escape_string($nom));
    Mais le même message d'erreur apparait.
    Donc j'ai essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $nom=$data['DESCRIPTIONFRANCAISE']; // nom de la fleur
    $test = mysql_real_escape_string ($nom);
     mysql_query($test) or die('Erreur SQL !'.$test.'<br>'.mysql_error());
    Mais le message d'erreur suivant apparait :
    Erreur SQL !Conversion chimique de l\'aluminium, pellicule chimique jaune
    Erreur de syntaxe près de 'Conversion chimique de l\'aluminium, pellicule chimique jaune' à la ligne 1


    Alors s'il vous plait si vous saviez ce qui ne va pas merci

  2. #2
    Membre chevronné
    Profil pro
    Responsable de service informatique
    Inscrit en
    Septembre 2004
    Messages
    352
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Septembre 2004
    Messages : 352
    Par défaut
    C'est le caractère ' qui te fait tout planter ?

  3. #3
    Membre confirmé Avatar de zabdaniel
    Profil pro
    Inscrit en
    Février 2007
    Messages
    175
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 175
    Par défaut
    Merci oui c'est ce caractère, c'est pourquoi j'espérais résoudre mon problème avec mysql_real_escape_string, mais c'est peut être un problème de syntaxe, je ne le place pas bien je n'en sais rien, mais les deux tests que j'ai essayé se sont soldé par un beau message d'erreur
    Donc j'aimerais savoir pourquoi ça plante avec mysql_real_escape_string

  4. #4
    Membre chevronné
    Profil pro
    Responsable de service informatique
    Inscrit en
    Septembre 2004
    Messages
    352
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Septembre 2004
    Messages : 352
    Par défaut
    Essaye en utilisant en plus de cela, la fonction addslashes.

  5. #5
    Membre confirmé Avatar de zabdaniel
    Profil pro
    Inscrit en
    Février 2007
    Messages
    175
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 175
    Par défaut
    j'suis nulle
    Et oui en effet ça marche j'ai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    mysql_real_escape_string ($nom);
    $nom= addslashes($nom);
    Et c'est impeccable, plus de problème avec ma bdd merci beaucoup

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

Discussions similaires

  1. [MySQL] Utilisation de la fonction mysql_real_escape_string
    Par Whombat dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 29/01/2009, 07h22
  2. Utilisation de la fonction de déploiement
    Par mchicoix dans le forum XMLRAD
    Réponses: 4
    Dernier message: 01/03/2005, 14h35
  3. [LG]Utilisation de la fonction Random
    Par chloe95 dans le forum Langage
    Réponses: 1
    Dernier message: 01/03/2005, 14h20
  4. Utilisation de la fonction qsort
    Par Jsmeline dans le forum C
    Réponses: 8
    Dernier message: 28/01/2005, 12h40
  5. [LG]librairies : utiliser seulement quelques fonctions
    Par wwwroom dans le forum Langage
    Réponses: 13
    Dernier message: 14/05/2004, 22h50

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