1

嘿,谁能帮帮我。我正在从 mysql 表创建一个 csv 以供客户端下载。数据可以很好地插入和格式化到 csv 文件,但没有列名?任何帮助将非常感激。我是新手,所以请不要嘲笑:)

$result = mysqli_query($con,'SELECT * FROM score15ans WHERE id_user = "'.$userID.'" ORDER BY pps');
if (!$result) die('Couldn\'t fetch records');
$num_fields = mysqli_num_fields($result);
$headers = array();
for ($i = 0; $i < $num_fields; $i++) {
$headers[] = mysqli_fetch_field($result, $i);
}
$fp = fopen('php://output', 'w');
if ($fp && $result) {
header('Content-Type: text/csv');
header('Content-Disposition: attachment; filename="export.csv"');
header('Pragma: no-cache');
header('Expires: 0');
fputcsv($fp, $headers);
while ($row = $result->fetch_array(MYSQLI_NUM)) {
    fputcsv($fp, array_values($row));
}
die;
}
4

1 回答 1

0

尝试

for ($i = 0; $i < $num_fields; $i++) {
    $headers[$i] = mysqli_fetch_assoc($result, $i);
    $headersField[$i] = $headers[$i]['Field'];
}

fputcsv($fp, $headersField);
于 2013-08-30T10:43:42.247 回答