如何使用php从mysql列中提取超过1mb的数据

时间:2013-04-26 08:07:02

标签: php mysql

我在mysql列中有3Mb字符串数据。当我在mysql提示符下运行SQL查询时,它返回完整的数据。但是从php我无法获取完整的数据,它只返回1mb的数据数据。

我的mysql配置有max_allowed_packet_size=33554432

PHP max_post_size=30mbmemory_limit=300mb

1 个答案:

答案 0 :(得分:2)

您使用的是PDO吗? 问题可能是插入缓冲区的默认值为1 MiB

要更改它,请通过添加参数MYSQL_ATTR_MAX_BUFFER_SIZE的新值来更新用于连接数据库的行:

$pdo = new PDO("your connection_settings", "user", "pass", array(PDO::MYSQL_ATTR_MAX_BUFFER_SIZE=>1024*1024*5));

在此示例中,缓冲区的新大小为5 MiB

See this page了解有关此属性的更多信息。