如何将数据库表头信息转换为CSV文件

Rac*_*hel 3 php mysql csv

我正在尝试连接到数据库并获取表的当前状态并将该信息更新为csv文件,使用下面提到的一段代码,能够将数据信息获取到csv文件但是无法从数据库表中获取头信息进入csv文件.

所以我的问题是如何将数据库表头信息转换为CSV文件?

$config['database'] = 'sakila';
$config['host'] = 'localhost';
$config['username'] = 'root';
$config['password'] = '';

$d = new PDO('mysql:dbname='.$config['database'].';host='.$config['host'], $config['username'], $config['password']);
$query = "SELECT * FROM actor";
$stmt = $d->prepare($query);

// Execute the statement
$stmt->execute();

var_dump($stmt->fetch(PDO::FETCH_ASSOC));

$data = fopen('file.csv', 'w');

while ($row = $stmt->fetch(PDO::FETCH_ASSOC))
{
    echo "Hi";
    // Export every row to a file
    fputcsv($data, $row);
}
Run Code Online (Sandbox Code Playgroud)

标题信息含义:

Vehicle     Build   Model
 car        2009    Toyota
 jeep       2007    Mahindra
Run Code Online (Sandbox Code Playgroud)

因此,此标题信息将是Vehicle Build Model

任何指导都将受到高度赞赏.

Fra*_*ens 12

只需从数组$ row:array_keys()中获取键.现在你拥有了所有的列名,你可以把它们放在你的csv文件中.

=======编辑=======

<?php

$header = array();

while ($row = $stmt->fetch(PDO::FETCH_ASSOC))
{
    if(empty($header)){ // do it only once!
      $header = array_keys($row); // get the columnnames
      fputcsv($data, $header); // put them in csv
    }

    echo "Hi";
    // Export every row to a file
    fputcsv($data, $row);
}
?>
Run Code Online (Sandbox Code Playgroud)