php - 在 PHP 中查询 mysql 并将数据导出为 CSV

标签 php mysql csv

我有包含不同表的 myssql 数据库。表之间的数据是链接的,我使用用户 ID 检索和显示它们。我使用了来自 PHP MYSQLi Displaying all tables in a database 的引用资料

但是如何将此信息导出为 csv 文件?我试过而不是 echo 将其更改为字符串并将字符串打印到 csv 文件,但它不起作用。

我也试过这个例子: http://sudobash.net/php-export-mysql-query-to-csv-file/

但我可以看到数据,但上面还有垃圾(比如 "<font size='1'><table class='xdebug-error xe-notice' dir='ltr' border='1' cellspacing='0' cellpadding='1'>"
等)在 csv 文件中。

还有其他方法吗?

最佳答案

如果你想将每个 MySQL 行写入一个 CSV 文件,你可以使用内置的 PHP5 函数 fputcsv

$result = mysqli_query($con, 'SELECT * FROM table');
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);

$fp = fopen('file.csv', 'w');

foreach ($row as $val) {
    fputcsv($fp, $val);
}

fclose($fp);

应该为写入 file.csv 的每一行返回逗号分隔的字符串:

row1 val1, row1 val2
row2 val1, row2 val2 
etc..

另外一定要检查您正在写入的目录的权限。

关于php - 在 PHP 中查询 mysql 并将数据导出为 CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16391528/

相关文章:

javascript - 来自本地文件的 jQuery ajax 请求(Origin 'null' 不允许访问)

MYSQL 空值问题

php - 如何从 session ID 获取值

mysql - 返回同一行中的多个项目 (SQL)

csv - FileHelpers 类型中的字段顺序

php - parse_url() 不解析特定的 url

php - SQLSTATE[HY000] [2005] 未知的 MySQL 服务器主机 'mysql1.alwaysdata.com:3306' (2)

php - 从 codeigniter mysql 下载 csv

c# - 如何根据 C# 中的搜索条件合并 csv 文件中的多行?

php - 代码错误后请勿提交表格