php json 添加反斜杠,关于php:json_encode()函数添加反斜杠

我有一个包含单词's morgens的PHP数组。我正在使用一个函数来转义单引号,json_encode()向它添加了另一个反斜杠,这会导致SQL代码中的错误。参数JSON_UNESCAPED_SLASHES导致以下错误:

Warning: json_encode() expects parameter 2 to be long, string given

输出如下,在json_encode()之前:

string(11)"\'s middags"

在json_encode()之后:

"\'s middags"

它的等效值(long,64)不起作用,也不会抛出错误。如何防止json_encode()添加反斜杠?

(抱歉英语不好,这不是我的母语)

你好像有点问题。不要试图更改JSON的特定格式,而是更改生成SQL的代码,以便它能够处理特殊字符。这可能只是意味着使用绑定参数而不是字符串串联。更好的是,不要将JSON推送到关系数据库中——将数据的独立位存储在不同的行/列/表中,以一种合理的规范化形式,您可以使用SQL进行正确的查询。

撇开这一点不谈,你的问题无论如何都要解决了。您没有提供明确的问题陈述(您说"参数json-unescaped-slashes导致错误"-什么错误?)你也没有提供一个最小的可重复的例子。

json_encode() expects parameter 2 to be long, string given

这意味着,该定义是不constant JSON_UNESCAPED_SLASHES(它应该是64),是被

你可能感兴趣的:(php,json,添加反斜杠)