PHP json_编码在MySQL中存储时产生无效json

PHP json_编码在MySQL中存储时产生无效json,php,json,Php,Json,我已经在谷歌上搜索了一下,但没有任何乐趣。我通过$encoded=json\u encode($myArray)运行一个标准PHP数组 在将其存储到MySQL数据库之前。99%的情况下,这很好,但在奇怪的情况下,编码的JSON看起来已损坏 { "value": " } 存储在数据库中。这是一个罕见的情况,事实上我还不能在我的本地开发环境中复制它,但您不知道it用户可以 存储的数据来自表单上的,因此用户可能会输入一些不可靠的字符,这些字符会破坏某些地方的内容。问题是,我已经尝试了我能想到的每个字

我已经在谷歌上搜索了一下,但没有任何乐趣。我通过
$encoded=json\u encode($myArray)运行一个标准PHP数组

在将其存储到MySQL数据库之前。99%的情况下,这很好,但在奇怪的情况下,编码的JSON看起来已损坏

{ "value": " }
存储在数据库中。这是一个罕见的情况,事实上我还不能在我的本地开发环境中复制它,但您不知道it用户可以

存储的数据来自表单上的
,因此用户可能会输入一些不可靠的字符,这些字符会破坏某些地方的内容。问题是,我已经尝试了我能想到的每个字符,甚至在其中强制输入非UTF-8字符,这从来不会导致上述情况

我真的很难弄清真相。首先,我看不出
json\u encode
是如何产生上述结果的,也许弄清楚这一点会有助于弄清楚到底发生了什么,但我被卡住了

任何建议,帮助,指针都会很棒


我将尝试复制它。

确保数据库中的字段足够长。我遇到了一个问题,json编码的数据比字段长度长,并且被截断,导致它无效。。。有时,仅仅看编码后的数据,很难看到它最终被切断。在php页面上回显它,并将其与数据库字段中的数据进行比较…

确保数据库中的字段足够长。我遇到了一个问题,json编码的数据比字段长度长,并且被截断,导致它无效。。。有时,仅仅看编码后的数据,很难看到它最终被切断。在php页面上回显它,并将其与数据库字段中的数据进行比较…

尝试在值字段中输入一个巨大的数字,比如说4390000034001299333,然后查看它是否失败。我在用json(Facebook ID)编码大整数时遇到了类似的问题。为了避免这种情况,我使用自定义库服务_JSON.用标准库存储了大量数据。。将它们转换为字符串:)该死,我希望这可能是一个大小问题,但数据已经存储在字符串中了。我拿着它,试着存储一个怪物字符串,但也没有失败。我想这可能是一个奇怪的引号编码“”“有点像,但我已经试过了,每次都是适当的转义。它是通过json_编码运行的,然后通过标准插入插入。我发现其他地方有一个问题可能是导致它的原因,但我仍然相信的是为什么/如何如上所述存储它,所以这对suss仍然很重要。尝试在值字段中输入一个巨大的数字,比如4390000034001299333,看看它是否失败。我在用json(Facebook ID)编码大整数时遇到了类似的问题。为了避免这种情况,我使用自定义库服务_JSON.用标准库存储了大量数据。。将它们转换为字符串:)该死,我希望这可能是一个大小问题,但数据已经存储在字符串中了。我拿着它,试着存储一个怪物字符串,但也没有失败。我想这可能是一个奇怪的引号编码“”“有点像,但我已经试过了,每次都是适当的转义。它是通过json_编码运行的,然后通过标准插入插入。我发现其他地方有一个问题可能是导致它的原因,但我仍然相信的是它为什么/如何像上面那样存储它,所以这对suss仍然很重要。它没有被SQL切断。后面有一个
}
。谢谢,它是一个文本字段,所以对于存储的数据量来说,应该不仅仅是一个芥末。它不会被SQL截断。后面有一个
}
。谢谢,它是一个文本字段,所以对于存储的数据量来说,应该不仅仅是简单的。