2012-08-26 121 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

相关问题