Mysql
 sql >> Base de données >  >> RDS >> Mysql

Mysql Real Escape String Fonction PHP Ajout de \ à l'entrée de mon champ

Si vous obtenez vos données $content à partir d'un formulaire (et non "tel quel" dans le code PHP) , vous rencontrez peut-être un problème à cause des guillemets Magic (voir magic_quotes_gpc )

En gros :

Si les guillemets magiques sont activés (vous pouvez vérifier cela dans la sortie de phpinfo() , par exemple) , vous obtiendrez ce genre de "double échappement" :

  • Ces caractères seront échappés une fois par des guillemets magiques,
  • Et, ensuite, ils seront échappés une seconde fois par mysql_real_escape_string


La bonne solution, dans ce cas, est de ne pas arrêter d'utiliser mysql_real_escape_string , mais pour désactiver magic_quotes_gpc dans votre configuration...

... Mais, comme vous n'y avez pas accès, vous devrez en fait "inverser" l'effet des guillemets magiques, en appelant stripslashes sur l'entrée que vous obtenez comme $_GET et $_POST , avant de commencer à l'utiliser.

Note :c'est un conseil qui est donné sur la page de manuel de mysql_real_escape_string (citant) :