我正在编写一个CSV文件,其中包含一个函数的结果,该函数将数据库查询结果作为数组返回,如果结果集很大,则会将内存从异常中删除。
所以我正在寻找使用流编写CSV,任何人都可以帮助我使用PHP或Zend Framework-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);