CSV生成有','的问题

Awa*_*rni 3 php csv zend-framework export-to-csv

可能重复:
将MySQL查询转换为CSV的PHP代码

嗨,我正在用","逗号分隔的mysql记录生成一个csv文件.我从数据库中获取数据并将其连接成一个字符串.我正在使用以下代码

for($i=0;$i<count($all_logs);$i++)
        {
            $rd=$project->fetchRow($project->select()->where('id='.$all_logs[$i]->user2project_id));
            $username=$userid->fetchRow($userid->select()->where('id='.$all_logs[$i]->user_id));
            $outstr .=$all_logs[$i]->log_date.",";
            $outstr .=$username->username.",";
            $outstr .=$rd->title.",";
            $outstr .=$all_logs[$i]->task.",";
            $outstr .=$all_logs[$i]->workdesc.",";
            $outstr .=$all_logs[$i]->hours.",";
            $outstr .="\n";
        }
        return $outstr;

现在我的问题是什么.如果任何列数据本身具有","逗号,则它将此1列拆分为2列.例如,如果我的列workdesc具有这样的数据,I worked on this,that,these and those那么它将把这1列放到生成的csv中的3列.任何人都可以告诉我如何摆脱这种情况......

Pas*_*TIN 7

为了构造CSV文件,不应使用字符串连接.

相反,你应该使用这个fputcsv()函数 - 如果你不想scrite到一个文件,但得到一个字符串作为结果,看看用户 注释,你会发现几个可能的解决方案;-)


使用该功能,您不必处理转出机箱或自行分隔:所有这些都已经为您完成了.