首页 >后端开发 >php教程 >如何在 PHP 中将 MySQL 查询结果导出到 CSV?

如何在 PHP 中将 MySQL 查询结果导出到 CSV?

DDD
DDD原创
2024-12-08 22:16:19487浏览

How Can I Export MySQL Query Results to CSV in PHP?

在 PHP 中将 MySQL 查询结果导出为 CSV

要在 PHP 中高效地将 MySQL 查询结果转换为 CSV 文件,您可以使用以下选项:

利用 SELECT * INTO OUTFILE语法

一种方法是使用 SELECT * INTO OUTFILE 语法,它使您能够将结果直接导出到服务器上的文件中。例如:

SELECT * INTO OUTFILE "c:/mydata.csv"
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY "\n"
FROM my_table;

使用 PHP 的编程方法

或者,您可以使用编程方法:

$select = "SELECT * FROM table_name";

$export = mysql_query ($select) or die ("Sql error : " . mysql_error());
$fields = mysql_num_fields ($export);

for ($i = 0; $i < $fields; $i++) {
    $header .= mysql_field_name($export, $i) . "\t";
}

while ($row = mysql_fetch_row($export)) {
    $line = '';
    foreach ($row as $value) {
        if (empty($value)) {
            $value = "\t";
        } else {
            $value = str_replace('"', '""', $value);
            $value = '"' . $value . '"' . "\t";
        }
        $line .= $value;
    }
    $data .= trim($line) . "\n";
}
$data = str_replace("\r", "", $data);

if ($data == "") {
    $data = "\n(0) Records Found!\n";
}

header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=your_desired_name.xls");
header("Pragma: no-cache");
header("Expires: 0");
print "$header\n$data";

以上是如何在 PHP 中将 MySQL 查询结果导出到 CSV?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn