在 PHP 中将 MySQL 查询转换为 CSV
将 MySQL 数据库中的数据导出为 CSV 格式是一项常见任务。 PHP 提供了多种方法来实现此目的。避免中间文件创建的一种有效方法是使用 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 (!isset($value) || $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中文网其他相关文章!