如何使用 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);
我正在编写一个 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);