Erreur UPDATE, 'mysql_real_escape_string' non pris en compte
Posté : 03 nov. 2007, 10:48
Bonjour, je m'excuse de vous déranger mais la je bloque....
Une erreur que je n'ai jamais vue....
Je construis une requete Update avec pluqierus variables dedans, pour ne pas avoir de problèeme avec ' et " et d'autres problèmes de sécurité j'utilise la fonction mysql_real_escape_string()...
Lorsque j'affiche ma requete SQL avant de l'executer, tous les caractères "génant" sont échappé, mais une fois stocké dans la bdd, il n'ya plus aucun antislash et donc je me retrouve avec des bugs d'affichage avec du texte tronqué....
J'ai vérifié si les magic quotes étaient activé et ne faisaient pas doublon, mais echo get_magic_quotes_gpc() me renvoie la valeur 0;
J'ai utilisé la fonction addslashes, mais le problème est le même.
J'ai vérifié l'encodage de mes champs dans la bbd, ils sont tous en utf8, et même si je change le problème persiste.
Je me tourne donc vers vous, je ne comprends plus rien.....
oici un extrait de la construction de ma requete :
Une erreur que je n'ai jamais vue....
Je construis une requete Update avec pluqierus variables dedans, pour ne pas avoir de problèeme avec ' et " et d'autres problèmes de sécurité j'utilise la fonction mysql_real_escape_string()...
Lorsque j'affiche ma requete SQL avant de l'executer, tous les caractères "génant" sont échappé, mais une fois stocké dans la bdd, il n'ya plus aucun antislash et donc je me retrouve avec des bugs d'affichage avec du texte tronqué....
J'ai vérifié si les magic quotes étaient activé et ne faisaient pas doublon, mais echo get_magic_quotes_gpc() me renvoie la valeur 0;
J'ai utilisé la fonction addslashes, mais le problème est le même.
J'ai vérifié l'encodage de mes champs dans la bbd, ils sont tous en utf8, et même si je change le problème persiste.
Je me tourne donc vers vous, je ne comprends plus rien.....
oici un extrait de la construction de ma requete :
$titre = mysql_real_escape_string($titre);
$auteur = mysql_real_escape_string($auteur);
$annee = mysql_real_escape_string($annee);
$in = mysql_real_escape_string($in);
$edition = mysql_real_escape_string($edition);
$commentaires = mysql_real_escape_string($commentaires);
...
$sql="UPDATE `table1` SET `titre` = '".$titre."',
`auteur` = '".$auteur."',
`annee` = '".$annee."',
`in` = '".$in."',
`edition` = '".$edition."',
`commentaires` = '".$commentaires."',
`motscle` = '".$motscle."',
...";
mysql_run_query($sql);