编辑:将函数的错误部分复制到这个问题中,下面是适当的问题。
$values = mysql_query("SELECT lname, fname, email, dtelephone, etelephone, contactwhen, thursday,
friday, saturday, sunday, monday, comments FROM volunteers_2009 WHERE venue_id = $venue_id");
while ($rowr = mysql_fetch_row($values)) {
for ($j=0;$j<$i;$j++) {
$csv_output .= $rowr[$j].", ";
}
$csv_output .= "\n";
}我有注释,其中可能有一个逗号,甚至双引号,当它在注释字段中有一个逗号时,它抛出整个csv文件。
下面的代码是如何将数据加载到csv字符串中,以便放入csv文件中。
如何让它正确地导出注释字段数据?
发布于 2009-04-21 00:50:00
你应该去看看fputcsv()。这里也有一些有用的评论。
int fputcsv (资源$handle,数组$fields [,string $delimiter = ',‘,string $enclosure =’])
fputcsv()将一行(作为字段数组传递)格式化为CSV,并将其写入指定的文件句柄(以换行符结尾)。
发布于 2009-04-21 01:20:56
为什么不直接使用内置的mySQL命令呢?如果我错过了什么,请忽略,但我认为这是最快的路线:
http://www.netreveal.com/ddalton/2006/08/how_to_export_mysql_to_csv.html
网站基本上是指:
SELECT <fields or *> INTO OUTFILE '/tmp/result.text'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM <table> WHERE <condition> 发布于 2009-04-21 00:48:02
编辑:我的错,我只是测试了它,但它不工作--至少在Excel中是不行的。
但是,您可以用其他的东西替换逗号:
$field = str_replace(',','#COMMA#',$row['Field']);
$csv_output .= $field.', '; https://stackoverflow.com/questions/770636
复制相似问题