Fonction addslashes()

Ninie972 Messages postés 7 Date d'inscription lundi 10 novembre 2008 Statut Membre Dernière intervention 4 février 2009 - 3 févr. 2009 à 19:09
TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 - 3 févr. 2009 à 20:55
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

TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
3 févr. 2009 à 19:16
Salut,

Tu as la fonction stripslashes() qui fait ça très bien.
0
kohntark Messages postés 3706 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
3 févr. 2009 à 19:28
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 -
0
Ninie972 Messages postés 7 Date d'inscription lundi 10 novembre 2008 Statut Membre Dernière intervention 4 février 2009
3 févr. 2009 à 19:28
J'ai trouvé mon prob. dsl erreur de frappe.
0
kohntark Messages postés 3706 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
3 févr. 2009 à 19:39
Erreur de frappe ??

Kohntark-
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
3 févr. 2009 à 19:48
@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.
0
kohntark Messages postés 3706 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
3 févr. 2009 à 20:13
@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 -
0
TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
3 févr. 2009 à 20:55
@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.
0