標題
分類 請選擇分類 PHP CSS 好書介紹 系統設定
描述 「許功蓋」的問題一直困擾著許多程式設計師,原因和 magic quotes 有非常大的關係。以下介紹個可行的解決方案,請自行參考運用。
內容 在 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 ,那麼可以使用 prepare 及 execute 方法來協助你處理這些特殊字元。它會判斷資料庫的型態,自行呼叫相關的函式來幫你解決 magic quotes 的問題。 註:如果還在用 PHP4 + MySQL 的話,MySQL 的版本一定要在 4.0 以下。如果是使用 PHP5 + MySQL 的話,MySQL 的版本則建議在 4.1 以上,然後配合PEAR::DB 的 mysqli 資料庫型態使用。這是因為 MySQL 4.0 和 MySQL 4.1 在 SQL 語法的解譯有些不同,而 mysqli 資料庫型態 (採用 PHP5 的 mysqli 函式庫) 便是針對 MySQL 4.1 以上版本所開發的。