如何使用PHP / Zend Framework1将数据库结果作为流获取

时间:2017-02-09 16:46:42

标签: php zend-framework stream

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

所以我正在寻找使用流编写CSV,任何人都可以帮助我使用PHP或Zend Framework-1来帮助我。

1 个答案:

答案 0 :(得分:1)

您必须更改功能才能返回语句,而不是完整结果。您可以使用fetch方法获取每行数据库结果,并使用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);