我正在使用从旧帖子中找到的这个片段将 MySQL 表下载到 CSV。它可以很好地下载 CSV,但我总是收到“未定义”错误,而我的浏览器窗口中没有显示其他详细信息。CSV 文件不包含与文本混合的任何有关错误的数据。任何有关我的错误的帮助将不胜感激。
我试过测试我的 SQL 语句,效果很好。
$result = mysql_query("SELECT * FROM employees");
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);
}
$fp = fopen('php://output', 'w');
if ($fp && $result) {
header('Content-Type: text/csv');
header('Content-Disposition: attachment; filename="employeelist.csv"');
header('Pragma: no-cache');
header('Expires: 0');
fputcsv($fp, $headers);
while ($row = mysql_fetch_assoc($result)) {
fputcsv($fp, array_values($row));
}
die();
}