Page 1 sur 1

problemes d'accents

Posté : 25 avr. 2007, 09:42
par ours-blanc-
bonjour j'ai un soucis avec une requete sql.
la voici

Code : Tout sélectionner

$requete = "INSERT INTO `fichedico` VALUES ( '".$this->idPt."' , '"; $requete .= $this->idFiche."' , '"; $requete .= $this->terme."' , '"; $requete .= $this->nomAnglais."' , '"; $requete .= $this->genre."' , '"; $requete .= $this->theme."' , \""; ...
je l'ai pas toute mise c'est juste pour vous montrer.
Le soucis c'est avec les ' .
J'ai un formulaire dans lequel je rentre des données, et ces données sont inserees dans la base quand on valide le formulaire. ca marche bien mais pas dans un cas.
Quand j'ai un texte par exemple qui comporte un ' et bien ca me renvoie une erreur a l'insertion.
La solution pour que les ' passent c'est de mettre des " plutot que des ' dans la requete mais dans ce cas ce sont les " dans le texte qui ne vont pas passer.
Quelqu'un aurait une idée de comment résoudre ce probleme?

merci!

Posté : 25 avr. 2007, 09:56
par jojolapine
Bonjour,
ça n'est pas seulement un problème de bug qui fait que ton script marche pas, mais c'est une faille potentielle de sécurtée!!!
Il faut retenir la règle suivante:
Avant toute insertion sql, on "protège" toujours les données insérées.
Ce qui peu se faire içi avec la fonction
mysql_real_escape_string() !
Fait des essais et reviens nous voir ;-)

Posté : 25 avr. 2007, 21:05
par ours-blanc-
merci pour les infos, j'ai reussi a faire passer la requete mais bon par contre je suis pas trop sur au niveau de la sécurité si j'ai bien fait.

j'ai passe les variables a la fonction mysql_real_escape_string avant la requete.

enfin merci bien
bonne soirée.