【发布时间】:2015-02-10 21:46:34
【问题描述】:
我正在编写一个运行查询然后将数据写入 .csv 文件的 PHP 语句。我遇到的问题是我从服务器接收的一些数据在数据中有逗号,这导致 .csv 文件在错误的位置输入数据。下面我有一个代码示例。
$sql = "Select *
From table;"
$data = mysqli_query($link, $sql);
$row= ("Column One, Column Two, Column Three\n");
while ($result = $data->fetch_assoc()) {
$row .= ("$result[columnOne], $result[columnTwo], $result[columnThree]\n");
}
$fd = fopen("./filePath.csv", "w") or die ("Error Message");
fwrite($fd, $row);
fclose($fd);
第三列是数据包含逗号的位置,这会导致它写入 .csv 文件中的不同单元格。是否有任何解决方案可以使 $result[columnThree] 数据保留在一个单元格中,即使其中包含逗号?
【问题讨论】:
-
使用
fputcsv()写入CSV 数据,而不是fwrite()。 Reference here -
是的,并且使用文本附件,否则应用程序如何知道逗号是分隔符和数据是什么?