可能重复:
PHP code to convert a MySQL query to CSV
嗨,我正在从mysql记录生成一个csv文件,用“,”逗号分隔。我从数据库中获取数据并将其浓缩成字符串。我正在使用以下代码
对于($i=0;$i{
$rd=$project->fetchrow($project->select()->where('id='.$all_logs[$i]>user2project_id));
$username=$user id->fetchrow($userid->select()->where('id='.$all_logs[$i]->user_id));
$outsr.=$所有日志[$i]->日志日期。“,”;
$outsr.=$username->用户名。“,”;
$outsr.=$rd->标题。“,”;
$outsr.=$all_logs[$i]>任务。“,”;
$outsr.=$all_logs[$i]>workdesc.“,”;
$outsr.=所有日志[$i]>小时。“,”;
$outsr.=“\n”;
}
返回$outsr;
现在我的问题是什么。如果任何列数据本身有一个“,”逗号,则它将此1列拆分为2列。例如,如果我的列workdesc有这样的数据I worked on this,that,these and those,那么它将把这1列放到常规csv中的3列。任何人都能告诉我怎样才能摆脱这种状况……

最佳答案

你必须把这些值用引号括起来

$outstr .='"'.$username->username.'",'; //output ://"somvalue contain , comma"

对所有数据列应用此格式,就这样。

关于php - CSV产生“,”有问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5512381/

10-09 00:54