使用PHP在mysql数据库中保存数组(json_encode)

使用PHP在mysql数据库中保存数组(json_encode),php,mysql,arrays,json,Php,Mysql,Arrays,Json,我有一个大数组,我想直接保存在mysql数据库中。在保存之前,我使用json\u encode对数组进行编码,但是每当我试图保存数据时,就会出现错误 CDbCommand failed to execute the SQL statement: SQLSTATE[08S01]: Communication link failure: 1153 Got a packet bigger than 'max_allowed_packet' bytes. 我增加了/etc/my.cnf中允许的最大数据

我有一个大数组,我想直接保存在mysql数据库中。在保存之前,我使用json\u encode对数组进行编码,但是每当我试图保存数据时,就会出现错误

CDbCommand failed to execute the SQL statement: SQLSTATE[08S01]: Communication link failure: 1153 Got a packet bigger than 'max_allowed_packet' bytes.

我增加了/etc/my.cnf中允许的最大数据包值,并重新启动了MySQL服务,但这不起作用

xamp/mysql/bin/my.cnf中
尝试将
max\u allowed\u数据包
net\u buffer\u长度
更改为

max_allowed_packet='required size'
net_buffer_length='required size'

xamp/mysql/bin/my.cnf中
尝试将
max\u allowed\u数据包
net\u buffer\u长度
更改为

max_allowed_packet='required size'
net_buffer_length='required size'

如果JSON大小有问题,可以尝试将列设为blob,然后使用bzip压缩(并通过选择解压缩)JSON字符串:


这确实会使SELECT命令的字段不可搜索,因此如果需要通过SQL搜索字符串,则无法使用该字段。

如果JSON大小有问题,可以尝试将列设置为blob,然后使用bzip压缩(并通过SELECT解压缩)JSON字符串:


这会使SELECT命令无法搜索该字段,因此如果需要通过SQL搜索字符串,则该字段将无法工作。

这可能会有所帮助:)该数据有多大?那么试图保存它的PHP/SQL代码是什么样子的呢?它可能会有帮助:)这个数据有多大?试图保存它的PHP/SQL代码是什么样子的?