我试图从MySQL表到PHP我的应用程序获得数百万行.
获取数据的步骤如下所示.
使用mysql_query()或mysqli_query()将查询发送到mySQL.
使用mysql_fetch_array()将结果设置为数组并循环每一行.或者使用mysqli_fetch_all()添加数组.
我把消息"内存不足"或"允许*字节耗尽的内存大小".
如果我改变'memory_limit',我或许可以解决它们.
但我想知道为什么会显示这些消息.
我已将'memory_limit'更改为128M-> 512M - > 1024M.
当我设置128M时,发送查询失败,允许的内存大小为*字节耗尽,我无法将结果添加到数组区域.
然后设置512M,查询成功完成但我无法将结果添加到允许*字节耗尽的内存大小的数组.
最后设置1024M,发送查询和设置结果以将结果添加到数组都已完成.但有时mysqli_fetch_all()是带内存不足的字段.
我无法理解的一件事是为什么内存不会经常发生?
我想知道的另一件事是如何从表中将整行超过一百万行转换为PHP内存转换.获取完整行后,我希望让我的用户通过浏览器操作访问它们,包括下载某些类型的文件,如csv.