Guillemets, base sql, et passage variable url

WRInaute discret
Salut, j'ai comme un petit problème avec des mots, phrases avec guillemets.
Si j'enregistre un nom ex: mc'toto dans ma base sql en faisant avant $nom=htmlentities($nom);
dans le champ de la base j'aurais mc'toto.
Si je réaffiche ce mot sur ma page :
echo"$requete[nom]"; j'obtiens mc'toto.
Après je créé une variable $monnom=$requete[nom];
Mais si je passe par lien : ?valeurdunom=$monnom et que j'affiche de nouveau :
echo"$valeurdunom"; j'aurais mc\'toto.
Et si je fais SELECT * from matab WHERE nom='$valeurdunom' ORDER BY id DESC
il ne trouve rien...Pas de champ donc pas de données.Si je remplace \' par ' dans $valeurdunom donnant mc'toto il ne trouve rien non plus....

2eme test: $nom=htmlentities($nom,ENT_QUOTES);
il enregistre dans la base mc&codehexa;toto
Et toujours rien le problème étant comment par le biais d'un url passer une variable, avec un guillemet et le trouver dans la base de donnée ?
 
WRInaute discret
Yes, ça marche avec cette fonction : $valeurdunom=stripslashes($valeurdunom);
en recupérant la valeur de l'url...

Cool, merci.
 
WRInaute discret
spout a dit:
Désactiver les magic_quotes.
Pourquoi ? -http://www.webmasterstop.com/63.html
Magic Quotes are Evil!
C'était difficile de trouver un sujet dessus..Heureusement avec stripslashes ceci m'a permis de feinter, je laisse la variable mc\'toto dans la recherche sur la base sql, mais ensuite j'utilise stripslashes sur cette variable pour la retrouver par comparaison dans la base...

Complexe pour un guillemet
:lol:
En tout cas merci pour ce lien.
 
Discussions similaires
Haut