如何使用 PHP/Zend Framework1 以流的形式获取数据库结果

How to fetch database result as a stream using PHP/Zend Framework1

我正在编写一个 CSV 文件,其中包含 returns 数据库查询结果作为数组的函数的结果,如果结果集很大,则内存异常。

所以我正在寻找使用流编写 CSV 的方法,任何人都可以帮助我如何使用 PHP 或 Zend Framework-1 来完成此操作。

您必须将函数更改为 return 一个 语句 ,而不是完整的结果。您可以使用 fetch 方法获取数据库结果 per-row 和 fputcsv 写入 csv 文件。

$fp = fopen('file.csv', 'w');
$stmt = $db->query('SELECT * FROM table WHERE smth IS NOT NULL ORDER BY id DESC');

while ($row = $stmt->fetch()) {
    fputcsv($fp, $fields);
}

fclose($fp);