php - 发送 QUERY 数据包时出错

标签 php mysql

我试图向数据库中插入一些数据,但我收到了这个错误“发送查询数据包时出错

$insertDeta = $conPat->prepare("insert into table1(data) VALUES(:data)");
$insertDeta->bindParam(':data',$data);
$conPat->beginTransaction();    
    $insertDeta->execute();
$conPat->commit();

但我认为问题在于 数据 的大小超过 16MB。
该列的数据类型设置为longtext,我认为可以将数据保持到4​​GB。

我不知道 PDO 是否在运行查询或将 16MB 数据传输到数据库时遇到问题。
这是我唯一能做的猜测,因为 mysql 可能会在 packets 中发送数据,而数据包不能容纳 16MB 的数据。

最佳答案

您猜对了,MySQL 对数据大小有限制,您需要将查询分解为一小组记录,或者您可以使用 SET GLOBAL max_allowed_pa​​cket=524288000; 更改您的 max_allowed_pa​​cket;

关于php - 发送 QUERY 数据包时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30753674/

相关文章:

php - 在一页中绘制多个 flot

mysql - Innochecksum 错误统计文件 : Value too large for defined data type

php - Magento 中过滤器搜索时的自定义网格中未返回产品名称

php - Laravel 在创建模型时使用不正确的表名

mysql - SQL LEFT JOIN“不支持JOIN表达式”

mysql - 不同条件下不同表中两个计数的总和

php - Array Unique 执行后不显示某些数组

php - 从 Python 发送 HTTP POST 请求(尝试从 PHP 转换)

php - 如何比较集合中 Magento 中的 2 个不同字段

php - 根据类别使用不同的 WordPress 主题