将 MySQL 查询转换为 CSV 的 PHP 代码
在 PHP 中,有一些有效的方法可以将 MySQL 查询结果转换为 CSV 格式,最大限度地减少需要临时文件:
方法1:SELECT INTO OUTFILE
SELECT * INTO OUTFILE "c:/mydata.csv" FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY "\n" FROM my_table;
该命令直接将查询结果导出到CSV文件。其语法和选项请参考 MySQL 文档。
方法二:手动转换
$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";
该方法涉及逐行循环查询结果,格式化并将每个字段输出为逗号分隔值。第一行包含字段名称。
这些方法提供了将 MySQL 查询结果导出为 CSV 格式的便携式解决方案,提供了灵活性和高效的处理。
以上是如何在 PHP 中高效地将 MySQL 查询结果转换为 CSV?的详细内容。更多信息请关注PHP中文网其他相关文章!