php - 如何将数据库表头信息导入 CSV 文件

标签 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);
}

头部信息含义:

Vehicle     Build   Model
 car        2009    Toyota
 jeep       2007    Mahindra

因此标题信息为Vehicle Build Model

任何指导将不胜感激。

最佳答案

只需从数组 $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);
}
?>

关于php - 如何将数据库表头信息导入 CSV 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2539217/

相关文章:

php - MySQL连接显示多条记录

mysql - 如何使用单个id从数据库中的多个表中获取信息?

python-3.x - 如何在没有分隔符的情况下从 CSV 创建 Pandas 数据框(在 python 中)

java - 从 csv 文件中删除重复行而不写入新文件

php - 如何通过Mysql外推数据并放入数组?

php - WP 增强媒体库插件 - 如何按查询中的媒体类别进行过滤?

php - Laravel @can Blade 策略检查

mysql - 是否有用于 C 的标准 mysql 连接池库?

mysql - 从具有多对多关系的表中选择

javascript - 无法使用 Javascript 指定下载文件的名称