2013-02-19 37 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