2016-03-03 56 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";