我编写了一个脚本,将mysql表导出为csv文件。它工作得很好,只是它将其导出为制表符分隔的文件。我需要用逗号分隔。我尝试进入ONFILE,但无法使其工作。这就是我现在所拥有的:
$fh = fopen(__DIR__ . '/Stock.csv', 'w');
$result = mysql_query("SELECT * FROM table ORDER BY SKU");
while ($row = mysql_fetch_array($result)) {
$num = mysql_num_fields($result) ;
$last = $num - 1;
for($i = 0; $i < $num; $i++) {
fwrite($fh, $row[$i]);
if ($i != $last) {
fwrite($fh, "\t");
}
}
fwrite($fh, "\n");
}
fclose($fh);如何修改它,使其变为逗号分隔?
发布于 2017-02-07 15:51:15
你可以使用简单的MySQL语句- SELECT + INTO OUTFILE,它会写出带有一些选项的类似CSV的文件。
SELECT *
INTO OUTFILE 'Stock.csv'
FIELDS TERMINATED BY ','
FROM table
ORDER BY SKU;发布于 2017-02-07 15:50:41
要将数据从数据库输出到CSV,您应该使用:
http://php.net/manual/en/function.fputcsv.php
要使用逗号分隔数据,可以使用内部方法:
Wrap CSV values generated by PHP fputcsv() with " "
请仔细阅读这两个链接。我相信你会得到你想要的。
发布于 2017-02-07 15:51:43
您可以使用此函数:
http://www.php.net/manual/de/function.fputcsv.php
使用数组在csv文件中插入一行,并将分隔符设置为",“。
$file = fopen("data.csv","w");
$a = array("value1","value2","value3");
fputcsv($file,$a,",");https://stackoverflow.com/questions/42084260
复制相似问题