我有一个 php 文件,它将从 mysql_query() 检索到的结果编码为 json 格式。我收到的数据很大,即接近 200,000 个元组,其中每个元组有接近 10 个 varchar。早些时候,我遇到了一个异常,例如“允许的内存大小为 67108864 字节已用尽”。然后我在互联网上搜索,有人引用了 mysql_unbuffered_query 是解决方案。我也试过了,但我又遇到了同样的错误。我们如何在php中处理如此大的数据?
增加内存也不是一种选择,因为我有一个共享主机帐户。
这是我用于检索结果和编码为 json 的代码。
$result=mysql_unbuffered_query("Some query which gives large data");
$res=array();
if($result)
{
while($r = mysql_fetch_assoc($result))
{
$rows[] = $r;
}
print json_encode($rows);
}
else
{
echo mysql_error();
}
此类问题的解决方法是什么?