我有一个很长的查询(3MB)来执行,我使用PDO来执行此操作但我遇到了问题:查询太长了。
我已经将MySQL变量max_allowed_packet更改为100MB,但它没有解决问题,所以我想这是因为PDO。
我看到this topic,但MYSQL_ATTR_MAX_BUFFER_SIZE似乎不存在: 致命错误:未定义的类常量'MYSQL_ATTR_MAX_BUFFER_SIZE'
我该如何解决?
答案 0 :(得分:0)
如PDO文档中所述,在针对mysqlnd编译时,不支持MYSQL_ATTR_MAX_BUFFER_SIZE。#34; (http://php.net/manual/en/ref.pdo-mysql.php)
因为mysqlnd是自PHP 5.3.0以来的标准mySQL库,所以默认情况下不能使用此常量。切换到另一个库应该可以解决问题。
要执行此操作,请取消注释php.ini
文件中的以下任一行:
然后重启网络服务器,它就可以了!
检查this答案以获得更详尽的解释。