使用PHP将CSV文件输出mysqli结果

时间:2017-10-01 09:38:01

标签: php csv mysqli

我使用以下代码将mysqli结果集写入PHP中的CSV文件

$result = mysqli_query($con, 'SELECT * FROM table');
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);

$fp = fopen('file.csv', 'w');
foreach ($row as $val) {
fputcsv($fp, $val);
}

根据我的理解,应该为每一行产生一个逗号分隔行。 但是,CSV文件的内容由一个没有换行符的长字符串组成。 知道如何获得每一行的换行符吗? 感谢。

fclose($fp);

1 个答案:

答案 0 :(得分:0)

您需要循环到最后一条记录并在csv中添加每条记录。将您的代码更改为:

$result = mysqli_query($con, 'SELECT * FROM table');
$fp = fopen('file.csv', 'w');
while($row = mysqli_fetch_array($result, MYSQLI_ASSOC))
{
fputcsv($fp, $row);  
}
fclose($fp);