2017-02-09 3 views
0

データベースのクエリ結果を配列として返す関数の結果をCSVファイルに書き込んでいます。結果セットが大きい場合はメモリを例外から外します。PHP/Zend Framework1を使用してデータベースの結果をストリームとして取得する方法

私はストリームを使ってCSVを書くのを探しています。誰でもPHPやZend Framework-1を使ってこれを行う方法を教えてください。

+1

機能コードを追加してください。 –

答えて

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);