【发布时间】:2018-07-03 13:00:34
【问题描述】:
$val = "I'm string";
对于这种类型的字符串,我使用了addslashes 函数,它将字符串转换成这样的:
"I\'m string"
并存储到数据库中。当我从数据库中的字段数组中获取所有数据并在
中传递数组时json_encode($arr);
作为回应,我得到带有额外斜杠的字符串,如下所示:
"I\\'m string"
我想删除由 json_encode 添加的额外斜杠。我是怎么做到的??
【问题讨论】:
-
您不应该在数据库中使用 addlashes。使用准备好的语句。看起来你实际上是在字符串中添加一个文字斜线而不是转义撇号。
-
在
MYSQLI_或PDOAPI 中使用prepared parameterized statements,这个问题就会消失,您不需要在任何地方使用 strip 或 add 斜杠 -
如果你正确使用prepared statement,你就不需要addlashes
-
是的,您根本不需要做任何特别的事情
-
这个问题吸引了很多被否决的答案。如果您显示了写入数据库的代码,则不会发生这种情况
标签: php json addslashes