我想知道是否有人知道一個PHP設置會自動轉義雙引號。是否有PHP配置會自動轉義雙引號?
我的問題是,我的本地服務器上,我張貼此字符串到服務器:
{"0":{"id":"19","goal":"34"},"1":{"id":"22","goal":"657675"},"2":{"id":"21","goal":"456"}}
,它工作正常。然而,在生產服務器上,我發表了相同的字符串,而當我贊同它時它更改爲:
{\"0\":{\"id\":\"19\",\"goal\":\"34\"},\"1\":{\"id\":\"22\",\"goal\":\"657675\"},\"2\":{\"id\":\"21\",\"goal\":\"456\"}}
我設法用string_replace()調用修復它,但我想知道爲什麼這發生了。生產服務器和本地服務器使用相同的代碼,並更新爲使用相同的數據,所以我假設這種差異必須由服務器設置引起,但我從來沒有聽說過這樣做的設置。
任何人都經歷這樣的事情?
+1(打我吧)。我還建議閱讀[本文檔部分](http://php.net/manual/en/security.magicquotes.php)... – ircmaxell 2010-11-19 19:53:32
@ircmaxell謝謝,我已經添加了鏈接到我的答案:) – 2010-11-19 19:54:38
謝謝一堆。現在你們提到它了,我已經聽到了很多關於魔術引語的內容,但是我想我並不完全明白他們做了什麼。我們使用其他防止SQL注入的方法,這應該不是問題。我真的很討厭當我解決問題而不理解問題,所以再次感謝! – 2010-11-19 20:16:07