2013-02-19 40 views
0

如果我需要在PHP中使用这些函数:stripslashes,utf8_decode和mysql_real_escape_string,那么最好的顺序是什么。stripslashes,utf8_decode,mysql_real_escape_string之间的最佳顺序?

实际上索姆\\出现例如:弗朗索瓦\的农场。

谢谢。

+2

你不应该在新代码中使用'mysql_ *'函数,所以真的没有答案。使用参数化查询。 – geoffspear 2013-02-19 15:52:35

+2

你真的不需要他们中的任何一个。禁用'magic_quotes',将mysql数据库连接设置为'UTF8'(你还需要为数据库,表,列设置UTF8编码),使用'PDO'而不是'mysql_ *' – 2013-02-19 15:52:44

回答

1

  • 的stripslashes都在脚本的最顶部被应用,on the all superglobal arrays, only if magic quotes are on
  • utf8_decode - 永不
  • mysql_real_escape_string 只为你要插入查询字符串,权此插入之前
    如果你不打算在查询中插入任何字符串文字 - 你也不需要这个函数。

其实索姆\出现在例如:弗朗索瓦的农场。

所以,在这里不用的问题#1。
请将魔术引号关闭或运行上面链接中显示的stripslashes。

+1

感谢您的帮助。 – 2013-02-19 15:58:11