2016-03-03 87 views
0

我想通過php使用select語句導出一個空字段的csv文件,但空列沒有被包含在csv輸出中。插入空列到csv問題 - php

$query = "SELECT client_last_name,'','','','', client_first_name FROM billing_line_item"; 


    $result = mysqli_query($connection, $query); 

    if (!$result) { 
    die("Query Failed" . mysqli_error($connection)); 
    } else { 

    header('Content-Type: text/csv; charset=utf-8'); 
    header('Content-Disposition: attachment; filename=data.csv'); 

    $output = fopen('php://output', 'w');   
    fputs($output, implode($header1, ',')."\n"); 
    while ($row = mysqli_fetch_assoc($result)) { 
     fputs($output,implode($row, ',')."\n"); 
    } 
    fclose($output); 
    exit(); 
} 

在我的csv文件輸出如下:

Print_R of Array: 
Array 
(
[client_last_name] => LastName 
[] => 
[client_first_name] => FirstName 
) 

Output: LastName,,FirstName 
Expecting: LastName,,,,,FirstName 

回答

1

既然你沒有分配任何別名爲空列,他們都命名用相同的空字符串。但是一個關聯數組不能有重複鍵,所以當你使用mysqli_fetch_assoc時你只會得到一個空列。而是使用mysqli_fetch_row,它返回一個數字索引的數組。

或者,您可以將別名分配給空列。

$query = "SELECT client_last_name,'' AS empty1, '' AS empty2, '' AS empty3, '' AS empty4, client_first_name FROM billing_line_item";