【发布时间】:2017-02-09 16:46:42
【问题描述】:
我正在编写一个 CSV 文件,其中包含一个函数的结果,该函数将数据库查询结果作为一个数组返回,如果结果集很大,我会从异常中获取内存。
所以我正在寻找使用流编写 CSV,任何人都可以帮助我如何使用 PHP 或 Zend Framework-1 来做到这一点。
【问题讨论】:
-
请添加函数代码。
标签: php zend-framework stream
我正在编写一个 CSV 文件,其中包含一个函数的结果,该函数将数据库查询结果作为一个数组返回,如果结果集很大,我会从异常中获取内存。
所以我正在寻找使用流编写 CSV,任何人都可以帮助我如何使用 PHP 或 Zend Framework-1 来做到这一点。
【问题讨论】:
标签: php zend-framework stream
你必须改变你的函数来返回一个语句,而不是完整的结果。您可以使用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);
【讨论】: