PHP:如何在不发生内存崩溃的情况下从mysql或数组中获取大数据?

PHP:如何在不发生内存崩溃的情况下从mysql或数组中获取大数据?,php,foreach,Php,Foreach,有大量来自mysql或阵列的数据,例如超过40000个。 我需要循环他们,然后做回显,插入或更新工作。 但是现在记忆总是崩溃。 比如大数据,怎么做?如果可以,展示一个代码示例。从数据库中提取大数据只是为了响应它的想法不应该是一个问题。不要将它添加到任何数组中,只需在逐行拾取它时显示它。这样你就不会分配更多的内存了 这不是纯代码/测试代码/真实代码,只是以代码格式显示: //假设$link是与数据库的连接 $sql="Select name,age from big_list_of_members

有大量来自mysql或阵列的数据,例如超过40000个。 我需要循环他们,然后做回显,插入或更新工作。 但是现在记忆总是崩溃。
比如大数据,怎么做?

如果可以,展示一个代码示例。从数据库中提取大数据只是为了响应它的想法不应该是一个问题。不要将它添加到任何数组中,只需在逐行拾取它时显示它。这样你就不会分配更多的内存了

这不是纯代码/测试代码/真实代码,只是以代码格式显示: //假设$link是与数据库的连接

$sql="Select name,age from big_list_of_members";
if ( $res = mysqli_query($link, $sql) ) {
  while($r = mysqli_fetch_assoc($res)){
    echo 'Name: ' . $r['name'] . ' , Age: '.$r['age']. "\n";
  }
}

无论表有多大,您永远不会在这里分配太多内存。

使用limit/offset和process从DB中批量读取它们。更好的是,。请不要建议人们使用旧的、坏的、,PHP 5.5中不推荐使用的不安全的mysql_*函数太旧了,它甚至不再接收安全更新,并在PHP 7中被完全删除。任何人都不应该用这些函数编写新代码。相反,讨论PDO和/或mysqli。有关详细信息,请参阅。投票反对使用过时的、不安全的、即将弃用的mysql_*函数。好的,同意。这就是为什么我从这不是纯粹的/测试过的/真实的代码开始——它更多的是pesudo代码。我编辑它以反映mysqli的使用