1つの方法は、連想によって最初の結果をフェッチすることです。これらの連想インデックスは、とにかく列です。 array_keys
を適用します それらを取得するには、最初にヘッダーを追加し、次に最初にフェッチされた行を追加してから、残りをループします。
// first set
$first_row = $STH->fetch(PDO::FETCH_ASSOC);
$headers = array_keys($first_row);
// $headers = array_map('ucfirst', $headers); // optional, capitalize first letter of headers
fputcsv($fp, $headers); // put the headers
fputcsv($fp, array_values($first_row)); // put the first row
while ($row = $STH->fetch(PDO::FETCH_NUM)) {
fputcsv($fp,$row); // push the rest
}
fclose($fp);