我刚刚做了测试,看看我的应用程序是否可以处理特殊字符。
在PHP形式中,我将数据添加到MySQL,如下所示:
"test"
|'test'
|" £ $ % ^ & * ( )
|'test' "test"
数据已被转义,MySQL中的数据如下所示:
'''"test'''"
|''''test''''
|! '''" £ $ % ^ & * ( )
|''''test'''' '''"test'''"
像这样转到JSON:
[
"'''''''"test'''''''"",
"''''''''test''''''''",
"! '''''''" £ $ % ^ & * ( )",
"''''''''test'''''''' '''''''"test'''''''"",
]
无法在JSON中解析,所以我在JSONLint.com中查看了上面的内容,得到了错误:
Parse error on line 2:
..."test'''''''"", "''''''''test'''''''
----------------------^
Expecting 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '['
我知道可以修复,但不确定在哪里?
- 在我发送到MySQL之前在PHP中
- 在发送到MySQL数据库之前在MySQL查询中
- 在PHP中使用JSON之前
在我发送到MySQL之前在PHP中?
答案是准备好的陈述。使用PDO或mysqli
在发送到MySQL数据库之前在MySQL查询中?
答案是准备好的陈述。使用PDO或mysqli
在PHP中使用JSON之前?
答案是json_encode。不要两次转义相同的数据。