这种在csv上导出数据的方法以前在其他项目上也可以使用,但是我无法在此处进行此操作,因此我不确定如何为这种情况启用错误.
此PHP文件创建一个逗号分隔的文件,其中包含带有单个选项卡(“ ID”)的初始行,然后应该为数据库中SELECT查询中的每个匹配项创建一行
session_start();
ob_start();
include('conexionbbdd.php');
$file='informes/expositores_'.time().'.xls';
header("Content-Type: application/xls");
header("Content-Disposition: attachment; filename=$file");
header("Pragma: no-cache");
header("Expires: 0");
$output = fopen($file, 'w');
fwrite($output, chr(239) . chr(187) . chr(191));
fputcsv($output, array('ID'), "\t");
// fetch the data
$rows1 = mysqli_query($con, "SELECT ex_id FROM expositores WHERE ex_id = '26'");
// loop over the rows, outputting them
while ($row1 = mysqli_fetch_assoc($rows1)) {
fputcsv($output, $row1, "\t");
}
fclose($output);
echo $file;
ob_end_flush();
?>
在这种特殊情况下,我已将其简化为maximu,因此,除了第一行之外,还应创建一个包含“ 26”的唯一行(我已经测试过该查询可与PhpMyAdmin一起使用,ID为26).但事实并非如此.
它只能从此第一个fputcsv方法正确创建第一行:
fputcsv($output, array('ID'), "\t");
似乎没有其他行要提取或放置在CSV上.
由于整个PHP文件的目的是创建CSV文件,因此不会显示错误,因为它不会在新窗口中打开.
输出:
解决方法:
为了解决这个问题,您将需要能够查看错误.打开
标签:csv,mysql,php
来源: https://codeday.me/bug/20191119/2034104.html