PHP MYSQL-内存-无法将结果集保存在中


PHP MYSQL - Memory - Unable to save result set in

我有一个数据库,里面有150k条记录,听起来并不多。我遇到的问题是,当我在没有文件管理器的情况下运行搜索(返回所有150k条记录)时,我会"无法将结果集保存",但当我添加一个将结果减半的过滤器时,效果很好。此外,当我在phpmyadmin中运行它时,它运行得很好。

只有当我在浏览器中运行sql时,它才会得到这个错误。在谷歌上搜索后,我发现浏览器中的内存可能无法返回那么多结果。

有人能向我解释一下吗?更重要的是,给我一个解决方案,这样我就可以毫无错误地返回所有150k条记录。

谢谢。

当结果集大到足以导致内存耗尽时,

使用无缓冲查询http://php.net/manual/en/mysqlinfo.concepts.buffering.php

您应该尝试增加PHP脚本的内存限制。

尝试投放:

ini_set('memory_limit', '128M');

在脚本的开头。

另请参阅:

http://php.net/manual/en/function.ini-set.php

http://php.net/manual/en/ini.core.php

有时损坏的MySQL表可能会导致此警告。如果您认为有足够的内存来处理结果集,只需检查表即可。