我正在创建一个csv文件来下载mysql表数据。它在本地主机上工作正常,但是在实时服务器上却不起作用。它正在下载空的csv文件。这是我的php代码:
ob_start();
include ("../DB/db.php");
$output = "";
$table = "";
$sql = mysql_query("SELECT * FROM Account");
$columns_total = mysql_num_fields($sql);
for ($i = 0; $i < $columns_total; $i++) {
$heading = mysql_field_name($sql, $i);
$output .= '"'.$heading.'",';
}
$output .="\n";
while ($row = mysql_fetch_array($sql)) {
for ($i = 0; $i < $columns_total; $i++) {
$output .='"'.$row["$i"].'",';
}
$output .="\n";
}
$filename = "Account_details.csv";
header('Content-type: application/csv');
header('Content-Disposition: attachment; filename='.$filename);
echo $output;
exit;
最佳答案
您的mysql_query
函数返回一个错误,该错误将传递给mysql_num_fields。
您应该确保该表确实存在于您的实时服务器上。
请记住,数据库,表和可能的列名称在Linux / Mac(Unix)上区分大小写,而在Windows上则不区分大小写。这是由于MySQL使用文件/文件夹来命名表和数据库。
关于php - CSV下载在实时服务器上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27935796/