当前位置: 首页 > 面试题库 >

通过浏览器使用PDO将MySQL表中的数据存储为CSV

郎言
2023-03-14
问题内容

我有一种将数据写入MySQL数据库的表单。我希望用户能够CSV在最终提交后以格式下载数据。

我的代码当前正在将数据库的内容转储到浏览器中,即正在将其写入页面,而不是csv文件。我想将它们发送到链接,并可以选择下载文件。

这是我当前的代码:

$dbo = new PDO('mysql:host=localhost;dbname=db1', $username, $password);
$sql = "SELECT * FROM table1";
$qry = $dbo->prepare($sql);

// Execute the statement
$qry->execute();
var_dump($qry->fetch(PDO::FETCH_ASSOC));
$data = fopen('/tmp/db_user_export_".time().".csv', 'w');
while ($row = $qry->fetch(PDO::FETCH_ASSOC))
{
    echo "Success";
    // Export every row to a file
    fputcsv($data, $row);
}

当前结果是一个页面,其中包含表中所有数据的转储。没有在所需位置创建文件。我要去哪里错了?


问题答案:

客户端不知道这是CSV文件(毕竟只是文本!)。

尝试在任何输出之前添加此内容(在脚本顶部):

header("Content-type: text/csv");
header("Content-Disposition: attachment; filename=file.csv");
header("Pragma: no-cache");
header("Expires: 0");

基本上,您是在告诉客户端/浏览器要发送CSV文件的数据。

那应该工作。

您可以在此处找到有关标题的更多信息:http :
//php.net/manual/en/function.header.php



 类似资料:
  • 问题内容: 我认为这是一个n00b要做的事情。因此,我从未做到过。然后,我看到FriendFeed做到了这一点,实际上使他们的数据库扩展性更好,并减少了延迟。我很好奇我是否应该这样做。而且,如果是这样,正确的方法是什么? 基本上,什么地方是学习如何将MySQL中的所有内容存储为CouchDB类数据库的好地方?将所有内容存储为JSON似乎会变得更加轻松快捷(无需构建,延迟更短)。 此外,是否容易编辑

  • 问题内容: 我正在使用编写业务应用程序。现在,我需要向我返回一个服务方法(包括PDF文件内容),我需要使用将该文件下载到客户端计算机。 使用HTML5 Apis或任何JavaScript API怎么可能? 我用过了 但是出现以下错误 问题答案: 如果浏览器支持锚元素中的属性,则可能发生这种情况。

  • 问题内容: 我正在阅读有关Cookie和其他相关客户端存储选项的信息,并阅读了有关将window.name用作各种数据缓存的信息: http://en.wikipedia.org/wiki/HTTP_cookie#window.name 尽管它确实具有使它不那么令人满意的东西-并且我不会加糖,但从最真实的意义上来说,它绝对是一个hack- 它看起来很有希望。我需要存储约10K的JSON作为客户端缓

  • 概述 操作方法 存入/读取数据 清除数据 遍历操作 storage事件 参考链接 概述 这个API的作用是,使得网页可以在浏览器端储存数据。它分成两类:sessionStorage和localStorage。 sessionStorage保存的数据用于浏览器的一次会话,当会话结束(通常是该窗口关闭),数据被清空;localStorage保存的数据长期存在,下一次访问该网站的时候,网页可以直接读取以

  • 问题内容: 我已经写了一个存储过程。除了将表名作为输入参数之外,它都工作正常。 让我们在MySQL中查看我的proc: 存储过程的调用参数: 在这里,服务名称参数可以正常工作。但是,如果我将newsInfoTable变量作为表输入参数包括在内,则会显示错误。 表’db_test.newsinfotable’不存在 为什么只对表参数发生这种情况?如何从此错误中检索或 如何将表名作为参数传递给存储过程

  • 问题内容: 我已经使用PDO一段时间了,并且正在重构一个项目,以便它使用存储的proc而不是内联SQL。我收到一个我无法解释的错误。我正在使用PHP版本5.3.5和MySQL版本5.0.7。 我只是想获得一个带有输出的基本存储过程。这是存储的过程: 这是我用来调用proc的代码,$ db是PDO的一个实例: 简单吧?但是,它导致以下错误: 如果我直接这样调用proc: 它按预期工作,这使我相信PH