我写了一个脚本来将mysql表导出到csv文件。 除了将它作为制表符分隔文件导出之外,它的效果很好。 我需要它以逗号分隔。 我尝试过INTO 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);
如何修改它以使其成为逗号分隔符?
答案 0 :(得分:1)
你可以使用简单的MySQL语句 - SELECT + INTO OUTFILE,它会写一些类似CSV的文件。
SELECT *
INTO OUTFILE 'Stock.csv'
FIELDS TERMINATED BY ','
FROM table
ORDER BY SKU;
答案 1 :(得分:0)
要将数据从数据库输出到CSV,您应该使用:
http://php.net/manual/en/function.fputcsv.php
要用逗号分隔数据,可以使用implode方法:
Wrap CSV values generated by PHP fputcsv() with " "
请仔细阅读这两个链接。我相信你会得到你需要的东西。
答案 2 :(得分:0)
您可以使用此功能:
http://www.php.net/manual/de/function.fputcsv.php
使用数组将行插入csv文件并将分隔符设置为“,”。
$file = fopen("data.csv","w");
$a = array("value1","value2","value3");
fputcsv($file,$a,",");