如何在php中从数据库制作csv文件?

时间:2010-06-04 09:56:20

标签: php

我有一个数据库表,我存储了不同的信息,我想制作一个 来自它的csv文件我该怎么做?

2 个答案:

答案 0 :(得分:2)

如果数据库是MySQL,请尝试:

SELECT a,b,a+b INTO OUTFILE '/tmp/result.txt'
  FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
  LINES TERMINATED BY '\n'
  FROM test_table;

(来自http://dev.mysql.com/doc/refman/5.0/en/select.html的代码段)

或者您可以在以下应用程序代码中执行此操作:

$fh = fopen('file.csv', 'w');
$rows = $db->query('select first_name, last_name, email, telephone, company_name, customer_id, city from customer_tab;');

while($r = $rows->fetch_assoc()) {
        fputcsv($fh, $r);
}
fclose($fh);

或以PHP< 5.1:

$rows = $db->query('select first_name, last_name, email, telephone, company_name, customer_id, city from customer_tab;');

while($r = $rows->fetch_assoc()) {
        $i = 0;
        foreach($r as $k => $v) {
                $v = trim($v);
                echo "\"$v\"";
                if($i++ < 6) {
                        echo ",";
                }
        }
        echo "\n";
}

答案 1 :(得分:0)

有几种方法可以实现这一目标。您可以“手动”执行此操作,我的意思是您格式化输出并将其写入磁盘。您可以使用fputcsv将数组写为csv格式的行。你可以使用PEAR的File_CSV。或者您可以使用Google找到的任何内容。