У меня есть следующее:
$name = 'registrations.csv'; header('Content-Type: text/csv'); header('Content-Disposition: attachment; filename='. $name); header('Pragma: no-cache'); header("Expires: 0"); $outstream = fopen("php://output", "w"); $results = mysql_query("select * from registrations"); while( $result = mysql_fetch_array($results) ) { fputcsv($outstream, $result); } fclose($outstream);
Это отлично работает, за исключением того, что он дает два столбца. Например, у меня есть столбец given_name и столбец фамилии в таблице. Итоговый файл csv показывает каждый столбец дважды. Зачем?
Измените mysql_fetch_array()
на mysql_fetch_assoc()
. mysql_fetch_array()
извлекает как числовой, так и ассоциативный массив результатов базы данных.
while( $result = mysql_fetch_assoc$results) ) { fputcsv($outstream, $result); }