我试图向数据库中插入一些数据,但我收到了这个错误“发送查询数据包时出错”
$insertDeta = $conPat->prepare("insert into table1(data) VALUES(:data)");
$insertDeta->bindParam(':data',$data);
$conPat->beginTransaction();
$insertDeta->execute();
$conPat->commit();
但我认为问题在于 数据 的大小超过 16MB。
该列的数据类型设置为longtext,我认为可以将数据保持到4GB。
我不知道 PDO 是否在运行查询或将 16MB 数据传输到数据库时遇到问题。
这是我唯一能做的猜测,因为 mysql 可能会在 packets 中发送数据,而数据包不能容纳 16MB 的数据。
最佳答案
您猜对了,MySQL 对数据大小有限制,您需要将查询分解为一小组记录,或者您可以使用 SET GLOBAL max_allowed_packet=524288000; 更改您的 max_allowed_packet;
关于php - 发送 QUERY 数据包时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30753674/