headers 使用 PHP SQL 服务器导出 CSV 数据

CSV data export with headers using PHP SQL server

我正在尝试将数据从 SQL 服务器数据库上的 table 导出到 CSV 文件。 数据格式正确并放置在文件的每个单独的单元格中。但是 header 格式不正确,并且作为连续流全部打印到一个单元格上。

假设您有 a,b,c,d 作为 headers : Header 在第一个单元格上打印为 abcd,而不是在单个单元格上打印。我们如何将它们分开?

这是代码:

$flag = false;
if ($query) {
while( $data = sqlsrv_fetch_array( $query, SQLSRV_FETCH_ASSOC) ) {


        foreach($data AS $key => $value){
                     if(!$flag) {

      // display field/column names as first row
                        $out .= implode("\t", array_keys($data)) . "\n";
                        //$out .= '"'.$head.'",';
                        $flag = true;
            }

        //If the character " exists, then escape it, otherwise the csv file will be invalid.
        $pos = strpos($value, '"');
        if ($pos !== false) {
            $value = str_replace('"', '\"', $value);
        }
        $out .= '"'.$value.'",';
    }
    $out .= "\n";

}
$out .= implode("\t", array_keys($data)) . "\n";

正在创建制表符分隔行,但您在其他地方使用逗号分隔。

可能你也想在这里使用逗号:

$out .= implode(",", array_keys($data)) . "\n";