2012-08-26 119 views
0

我剛剛完成測試,看看我的應用程序是否可以處理特殊字符。來自服務器的JSON數據無法解析 - 來自MySQL的數據

在PHP的形式我到MySQL添加數據便接踵而來:

"test" | 'test' | " £ $ %^& * () | 'test' "test"

數據已經越獄,並在MySQL中是這樣的:

\\\"test\\\" | \\\'test\\\' | ! \\\" £ $ %^& * () | \\\'test\\\' \\\"test\\\"

是去JSON這樣的:

[ 
    "\\\\\\\"test\\\\\\\"", 
    "\\\\\\\'test\\\\\\\'", 
    "! \\\\\\\" £ $ %^& * ()", 
    "\\\\\\\'test\\\\\\\' \\\\\\\"test\\\\\\\"", 
] 

不能在JSON被PARSET所以我在上面JSONLint.com檢查,我得到這個錯誤:

Parse error on line 2: 
..."test\\\\\\\"", "\\\\\\\'test\\\\\\\ 
----------------------^ 
Expecting 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '[' 

我知道可以修復但不知道在哪裏?

  1. 在PHP之前我發送到MySQL?
  2. 在MySQL查詢之前發送到MySQL數據庫?
  3. 在PHP之前去JSON?

回答

0

in PHP before I send to MySQL?

答案是準備好的說明。使用PDOmysqli

in MySQL query before sent to MySQL database?

答案是準備statments。使用PDOmysqli

in PHP before goes to JSON?

答案是json_encode。不要兩次逃避相同的數據。

+0

我正在使用這個Singleton MySQL PHP類:[鏈接](http://www.ricocheting.com/code/php/mysql-database-class-wrapper-v3) – Solver

+0

太糟糕了,這個類正在使用不推薦使用的' mysql_'函數 – Peter

相關問題