我想从数据库导出数据到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,姓,updated" "loggedin,is_new"
但是我想要这样:
"COLUMN A" "COLUMN B" "COLUMN C", "password" "username" "firstname".
谁知道怎么做?
不要使用select *,而是只选择您想要的字段
如果您只希望在输出中包含三个字段,则不要选择所有字段:
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'