在PHP中将mysql查询导出为CSV的最简洁方法

时间:2011-12-17 17:10:50

标签: php mysql csv

  

可能重复:
  PHP code to convert a MySQL query to CSV

将mysql查询导出为CSV(适用于Excel 2003及更高版本)的最佳和最干净的方法是什么? 正在测试,维护,配置方面的“最佳”......所以像(标准) PHP库这样的东西将是理想的解决方案。

它应该正确处理第一行中的封闭,转义,字符集,字符串,字段名称等等。

这里有几个关于此的问题(如this one),但没有一个真正关注我上面要求的属性。

我的一些想法:

  • 使用fputcsv? (但 charset,逃避和cr-lf 看似无法设置!)
  • 从phpmyadmin中提取一些代码......?
  • SELECT * INTO OUTFILE无法在我的服务器上工作(拒绝访问)
  • system("mysqldump ...")是不可能的(安全模式托管)

1 个答案:

答案 0 :(得分:1)

就像你说的那样,fputcsv相当于你的要求。从phpMyAdmin中提取当然是可能的(这里是export logic),但使用专用库可能会有更多成功。以下是几个选择:

  • php-csv-utils。它重量轻,可配置,看起来很容易落入大多数应用程序。
  • 来自PEAR的
  • File_CSV,缺乏文档,但至少在2011年有一个版本。

既然没有使用过这些,我就不愿意选择一个但是根据文档和可用性我会选择第一个。

补充:我刚刚发现this SO question。查尔斯的回答是如此奇怪,我认为我应该在这里链接到它!