在 PHP5 裡,預設是不開啟 magic quotes 的,如果開啟的話,系統就會幫你的特殊字元加入 '\' 。
但是這樣會造成程式裡處理的困擾,畢竟我們不希望時時刻刻地去想什麼時候用 addslashes ,什麼時候用 stripslashes 。
所以如果有已經打開了 magic quotes ,可參考 http://www.php.net/manual/en/function.get-magic-quotes-gpc.php 的第一篇 User Contributed Notes,把相關的系統變數回復為沒有開啟 magic quotes 的狀態,然後在程式必要的地方再自行處理。
假如程式裡用到了 PEAR::DB 加上 MySQL 4.0 或是 MSSQL 的話,那麼可以使用 prepare 及 execute 方法來協助你處理這些特殊字元。它會判斷資料庫的型態,自行呼叫相關的函式來幫你解決 magic quotes 的問題。
沒有留言:
張貼留言