一尘不染

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

mysql

我有不同表的myssql数据库。表之间的数据已链接,我使用userid检索并显示它们。我使用了PHP
MYSQLi
的引用显示数据库中的所有表

但是,如何将这些信息导出为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文件中的顶部也有垃圾(例如etc)。

还有另一种方法吗?


阅读 276

收藏
2020-05-17

共1个答案

一尘不染

如果要将每个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..

另外,请确保检查要写入的目录的权限。

2020-05-17