0

私は次のものを持っています:

$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);

これは、すべての列のうち2つを提供することを除いて、うまく機能します。たとえば、テーブルにgiven_name列とsurname列があります。結果のcsvファイルには、各列が2回表示されます。なんで?

4

1 に答える 1

6

に変更mysql_fetch_array()mysql_fetch_assoc()ます。mysql_fetch_array()データベース結果の数値配列と連想配列の両方をフェッチします。

while( $result = mysql_fetch_assoc$results) )
{
  fputcsv($outstream, $result);
}
于 2013-03-05T17:39:40.970 に答える