Probleme d'appostrophe

Signaler
Messages postés
58
Date d'inscription
lundi 6 mars 2006
Statut
Membre
Dernière intervention
7 avril 2009
-
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
-
Bonjour,
J'ai un probleme avec des appostrophes; en effet je souhaite rentré ma variable

$nom="L' dsq cxcwxcw";

$requete="Insert into exemple(champ) values('".$nom."')";
 $res=mysql_query($requete) or die ('Erreur : '.mysql_error() );

Il me met une erreur a cause de l'appostrophe, j'ai essayé de mettre la variable entre guillemet, entre appostrophes et guillemets mais je n'arrive pas à trouver la solution.
Merci de vos conseils.
A voir également:

4 réponses

Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
3
Yop!
$nom = addslashes( $nom );
$requete = "INSERT INTO exemple (champ) VALUES ('$nom')";

Sans oublier un stripslashes à l'affichage!

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
Ou mysql_real_escape_string () :-)
Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
3
C'est quoi la diff entre les deux?

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
Bah la différence, c'est que mysql_real_escape_string () est liée à l'api mysql pour php, et que donc, si un jour les dév de mysql modifie la façon d'échapper les caractères dangereux (par exemple, à la mssql: doubler les apostrophes...mais prions pour qu'ils ne choisissent pas ça lol...c'est nul! Je suis obligé d'utiliser une expression régulière pour réafficher des chaînes extraites de mssqlmoi...), ou simplement les caractères eux-même, cette fonction suivra, et les codes l'utilisant resteront valides. Alors que les codes utilisant addslashes() ne le seront plus.