如何使用fputcsv将单个值放在单个列中

时间:2014-06-23 11:02:04

标签: php mysql sql csv

我想将数据从数据库导出到CSV文件。

我的PHP代码就像这样

$members = Db::getResult('select * from '.MEMBERS_TABLE_NAME.' order by '.MEMBERS_COLUMN_PREFIX.'_lastname, '.MEMBERS_COLUMN_PREFIX.'_firstname');

    $fileName = "../db_user_export".".csv";
    $handle = fopen($fileName, 'w+');
    fputcsv($handle, array_keys($members[0]));
    foreach ($members as $member) {
        fputcsv($handle, $member);
    }//foreach
    fclose($handle);

现在我在CSV中得到的输出是这样的:

“COLUMN A”“COLUMN B”“COLUMN C”,“password,username,fistname”,“lastname,updated”“loggedin,is_new”

但我想这样:

“COLUMN A”“COLUMN B”“COLUMN C”,“password”“username”“firstname”。

任何知道怎么做的人?

2 个答案:

答案 0 :(得分:0)

请勿使用select *,而只选择您想要的字段

答案 1 :(得分:0)

如果您只想在输出中输入三个字段,请不要选择所有字段:

SELECT '.MEMBERS_COLUMN_PREFIX.'_password, '.MEMBERS_COLUMN_PREFIX.'_username, '.MEMBERS_COLUMN_PREFIX.'_firstname FROM '.MEMBERS_TABLE_NAME.' ORDER BY '.MEMBERS_COLUMN_PREFIX.'_lastname, '.MEMBERS_COLUMN_PREFIX.'_firstname'