php - 将查询另存为 CSV 文件,但无法获取要写入 CSV 的表头字段名称

标签 php mysql

我成功地从查询创建了一个 CSV 文件并将该文件保存在服务器上,但我无法根据查询列名称获取包含标题字段的 csv。我正在从 mysql_field_name 创建一个标题数组,但无法将标题写入 csv,它只写入表数据。非常感谢任何想法/例子。

//Create a CSV for 
$result = mysql_query("SELECT * FROM `car_details`"); 
if (!$result) die('Couldn\'t fetch records'); 
$num_fields = mysql_num_fields($result); 
$headers = array(); 
for ($i = 0; $i < $num_fields; $i++) 
{     
       $headers[] = mysql_field_name($result , $i); 
} 
$csv_filename = "Policy-" .$datetime.".csv";
$fp = fopen($csv_filename, 'w+');


if ($fp && $result) 
{     
       while ($row = mysql_fetch_row($result)) 
       {
          fputcsv($fp, array_values($row)); 
       } 
}

最佳答案

看起来像:

...
if ($fp && $result) 
{
    fputcsv($fp, $headers);
    while ($row = mysql_fetch_row($result)) 
    {
        fputcsv($fp, array_values($row)); 
    }
}

关于php - 将查询另存为 CSV 文件,但无法获取要写入 CSV 的表头字段名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9584252/

相关文章:

php - 仅从昨天的数据库中选择 sql

mysql - EF6 不会首先使用代码创建任何表

python - 既不是 GROUPED 也不是 AGGREGATED 的列 X - StandardSQL/BigQuery

mysql - 如何通过mysql查询得到帖子的评论数?

mysql - mysql-database 可以像 UNIX 一样保存字符串区分大小写吗?

php - Laravel Spatie 事件日志包。创建新事件时如何添加 Causer_id 和 Causer_type?

php - 我应该显示列表的CSS按钮具有提交功能

php - 显示一小部分内容 - wordpress

javascript - jQuery UI Datepicker 仅响应第一个文本框

mysql - 隐藏 MySQL 查询中的重复结果