我有包含不同表的 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/