这段代码导出sql数据到csv文件,数据是出来了,显示在网页上,不保存成csv文件,请教一下什么原因?
if (isset($_POST['export'])) { $sql = 'SELECT col1, col2, col3 FROM `sheet1`'; $result = $conn->query($sql); if ($result === FALSE) { echo "<p>Error fetching data: " . $conn->error . "</p>"; } elseif ($result->num_rows > 0) { // create a file pointer connected to the output stream $output = fopen('php://output', 'w'); // output the column headings fputcsv($output, ['col1', 'col2', 'col3']); // loop over the rows, outputting them while ($row = $result->fetch_assoc()) fputcsv($output, $row); // Output CSV-specific headers header('Content-Type: text/csv; charset=utf-8'); header('Content-Disposition: attachment; filename=data.csv'); fclose($output); exit; } else { echo "0 results"; } $conn->close();}
确保在 PHP 代码中没有在 header() 函数调用之前输出了任何内容,包括空格、换行符、HTML 标签等。header() 函数需要在任何输出之前调用。
可以尝试使用 ob_clean() 函数清除输出缓冲区,以确保在输出 CSV 数据之前没有任何其他输出被发送到浏览器。
if ($result->num_rows > 0) { // 清除输出缓冲区 ob_clean(); // 创建文件指针连接到输出流 $output = fopen('php://output', 'w'); // 输出列标题 fputcsv($output, ['col1', 'col2', 'col3']); // 循环输出行数据 while ($row = $result->fetch_assoc()) { fputcsv($output, $row); } // 输出 CSV 文件的头信息 header('Content-Type: text/csv; charset=utf-8'); header('Content-Disposition: attachment; filename=data.csv'); // 关闭文件指针 fclose($output); exit;}
我试图转换到为一个PHP网站,不幸的是,我在localhost成功,但在测试服务器上失败了。 本地主机: php/5.3.29(brew安装php53)或PHP/5.6.8(xampp) Apache/2.4.16 测试服务器: PHP/5.6.14 nginx/1.6.0 它们连接到同一个mysql数据库(编码:utf8mb4,归类:utf8mb4_unicode_ci)。 数据表:(编码:ut
问题内容: 假设我有一个数据库…。是否可以通过PHP将数据库中的内容导出到CSV文件(和文本文件,如果可能)? 问题答案: 我个人使用此功能从任何数组创建CSV内容。 然后,您可以使用户使用以下方式下载该文件: 用法示例:
为什么我的值不能进入数据库? 如果需要更多的代码,请告诉我。 警告: 查询连接中的异常。php第713行:SQLSTATE[23000]:完整性约束冲突:1048列“name”不能为空(SQL:insert-into(,,,,)值(,,2016-06-19 21:44:05,2016-06-19 21:44:05)) 控制器: HTML页面:
问题内容: 我需要将一些数据从mysql导出到csv文件。但是其中一列有换行符,我需要将数据导出到保存换行符的csv文件中。 目前,我正在使用以下sql查询: 但是该sql查询不会将换行符保存在csv文件中。我不是MySQL的专家,如果有人可以帮助我,我将不胜感激 问题答案: 您似乎正在遇到以下错误:https : //bugs.mysql.com/bug.php?id=40320自2008年以来
问题内容: 我正在尝试重组在Excel文件中组织降水数据的方式。为此,我编写了以下代码: 这段代码运行良好,通过Jupyter,我可以看到结果是不错的 但是,尝试将此数据帧保存到csv文件时遇到问题。 结果文件包含垂直索引列,看来我无法调用特定的单元格。 (希望有人可以帮助我解决这个问题)非常感谢! 问题答案: 全部在文档中。 您有兴趣跳过索引列,因此: 如果您还想跳过标题,请添加: 我不知道您的
(希望有人能帮我解决这个问题)非常感谢!!