Fonction addslashes()

Signaler
Messages postés
7
Date d'inscription
lundi 10 novembre 2008
Statut
Membre
Dernière intervention
4 février 2009
-
Messages postés
1309
Date d'inscription
samedi 31 janvier 2009
Statut
Membre
Dernière intervention
5 juin 2013
-
Bonjour,
J'aimerai savoir quelle fonction permet d'ignorer les quotes dans une chaîne de
caractères? je m'explique, je veux insérer des données dans mysql, mais des l'un
des champs, il y a des mots composés de quote (ex: j'aime beaucoup)qui sont
confondues avec les quotes qui encadrent les variables php ... Pour cela j'ai
essayé d'utiliser preg_quote(), str_replace()...sans succès, ms il y a telment
de fonction de ce genre que je m'y retrouve pas car je ss débutante.

j'ai essayé ms ça ne fonctionne pas, pt-être une erreur dans mon
code:

$projet=mysql_real_escape_string($d[20]);
$insert2="INSERT INTO
voeux
VALUES ('', '$code_mention', '$filename', '$d[18]', '$d[19]',
'$projet', '', '', '', '', '$d[0]')";
$res2=mysql_query($insert2) or die
(mysql_error());

et ça:

$projet=addslashes($d[20]);

$insert2="INSERT INTO
voeux

VALUES ('', '$code_mention', '$filename', '$d[18]', '$d[19]',
'$projet', '', '', '', '', '$d[0]')";

$res2=mysql_query($insert2) or die
(mysql_error());

que faire?!

Merci d'avance pour votre aide.

7 réponses

Messages postés
1309
Date d'inscription
samedi 31 janvier 2009
Statut
Membre
Dernière intervention
5 juin 2013
14
Salut,

Tu as la fonction stripslashes() qui fait ça très bien.
Messages postés
3706
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
Salut,

@TychoBrahe :
stripslashes() permet de les supprimer

que faire?!
Il faut impérativement que tu utilises mysql_real_escape_string, comme dans ta première requête.
Si elle ne fonctionne pas tu as sans doute une erreur, quelle est elle ?

Kohntark -
Messages postés
7
Date d'inscription
lundi 10 novembre 2008
Statut
Membre
Dernière intervention
4 février 2009

J'ai trouvé mon prob. dsl erreur de frappe.
Messages postés
3706
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
Erreur de frappe ??

Kohntark-
Messages postés
1309
Date d'inscription
samedi 31 janvier 2009
Statut
Membre
Dernière intervention
5 juin 2013
14
@kohntark : justement, le but est de les supprimer a l'affichage non ? C'est vrai que j'aurais du préciser d'utiliser ceci après avoir récupérer le texte dans la base de donnée, ce n'était pas très explicite sinon :)

Mis a part ceci, si tu veux ne pas avoir a te soucier du tout de ce que tu récupère, tu peux aussi utiliser un htmlentities() avec ENT_QUOTES, c'est pas mal et ça évite les attaques XSS en plus :
$projet=htmlentities($d[20], ENT_QUOTES);
Si besoin, précise l'encodage en 3eme paramètre.
Messages postés
3706
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
@TychoBrahe :
Heu ... nan , de les supprimer lors de l'insert en DB : "J'aimerai savoir quelle fonction permet d'ignorer les quotes dans une chaîne de caractères?"

Quand à utiliser htmlentities c'est à mon sens beaucoup plus lourd, ça t'oblige notamment à utiliser html_entity_decode chaque fois qu'il faut s'en servir pour autre chose que de l'affichage.

Cordialement,

Kohntark -
Messages postés
1309
Date d'inscription
samedi 31 janvier 2009
Statut
Membre
Dernière intervention
5 juin 2013
14
@kohntark : en effet, j'avais mal lu la question, désolé ^^
Bon, après on peu discuter de l'usage de mysql_real_escape_string() ou de htmlentities(), chacune ayant leurs avantages et leurs défauts.