我在 mysql 列中有 3Mb 字符串数据。当我在 mysql 提示符下运行 SQL 查询时,它返回完整的数据。但是从 php 我无法获取完整的数据,它只返回 1mb 的数据。
我的 mysql 配置有 max_allowed_packet_size=33554432
PHP max_post_size=30mb
和 memory_limit=300mb
最佳答案
您使用 PDO 吗?
问题可能是插入缓冲区默认值为1MiB .
要更改它,请通过添加参数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有关此属性的更多信息。
关于php - 如何使用php从mysql列中提取超过1mb的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16231596/