以下を使用して、SQL ファイルを csv 形式でダンプします。
$sql = "SELECT 'id','username','name','email',
'phone_number','city',
'batch_code','course_type' UNION ALL
SELECT id, username, name, email,
phone_number, city, batch_code, course_type
FROM users INTO OUTFILE '".$file_path."' ".
"FIELDS TERMINATED BY ','
ENCLOSED BY '\"'
LINES TERMINATED BY '\r\n'";
$db = Zend_Registry::get('db');
$stmt = $db->query($sql, array());
ただし、users テーブルの特定のフィールドは null であり、csv 出力では \N として表示されます。文字列「NULL」に置き換えてほしい。str_replace を使用しようとしましたが、不思議なことにすべての行の後に余分な空白行が挿入されます。