将数据放入数组时耗尽内存大小

时间:2017-09-12 13:26:36

标签: php arrays json memory

我正在尝试从数据库获取数据并将其存储到JSON文件中。 下面的脚本工作正常,但较大的数据表不起作用:

@Version

但较大的表格不起作用: 致命错误:允许的内存大小为104857600字节。

“将数据放入数组”段中出现错误(参见上面的代码)。

还有其他方法可以将数据导入JSON吗?

1 个答案:

答案 0 :(得分:0)

此外,Mark Ba​​ker的回应是流媒体到json的临时解决方案:

# SELECT Data from Table
$query = "SELECT `Row1`, 
             `Row2`, 
             `Row3`
      FROM   `Table`";
$result = $mysqli->query( $query );

header("Content-Type: application/json");
echo "[";
# Put Data into array
$first = true;
while ( $row = $result->fetch_assoc() ) {
      echo (!$first?",":"").json_encode($row);
      $first = false;
}
echo "]";
die();

现在抓住了。您不能将数据放在数组或字符串中,只能传输它。此外,如果您正在使用输出缓冲(使用ob_start),您仍然会耗尽内存。