在PHP 中將MySQL 查詢結果導出為CSV
問題:
最好的方法是什麼用於有效地將MySQL 查詢轉換為CSV 檔案PHP?
答案:
使用 PHP 將 MySQL 查詢結果匯出到 CSV 有多種方法:
1.使用 MySQL 的 SELECT INSQLTO OUTFILE:
此方法可讓您直接將查詢結果輸出到 CSV 文件,而不需要使用臨時文件:
SELECT * INTO OUTFILE "c:/mydata.csv" FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY "\n" FROM my_table;
請參閱 MySQL 文件更多詳情。
2.手動匯出與格式化:
您可以使用 PHP 手動執行匯出與格式化:
$select = "SELECT * FROM table_name"; $export = mysql_query($select) or die("Sql error : " . mysql_error()); $fields = mysql_num_fields($export); // Generate header for ($i = 0; $i < $fields; $i++) { $header .= mysql_field_name($export, $i) . "\t"; } // Generate data while ($row = mysql_fetch_row($export)) { $line = ''; foreach ($row as $value) { // Handle empty values if (empty($value)) { $value = "\t"; } else { // Escape double quotes $value = str_replace('"', '""', $value); $value = '"' . $value . '"' . "\t"; } $line .= $value; } $data .= trim($line) . "\n"; } // Remove leading/trailing whitespace $data = str_replace("\r", "", $data); // Send headers and output CSV 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中文網其他相關文章!