如何在 PHP 中將 MySQL 查詢結果匯出為 CSV
可以透過多種方法將 MySQL 資料庫中的資料匯出為 CSV。這裡有兩種有效的方法:
使用MySQL 的SELECT INTO OUTFILE
此方法可讓您將查詢結果直接匯出到伺服器上的CSV 檔案:
$query = "SELECT * FROM my_table"; $csv_path = "c:/mydata.csv"; $result = mysql_query("SELECT * INTO OUTFILE '" . $csv_path . "' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\n' FROM my_table");
創建CSV手動
或者,您可以使用 PHP 手動建立 CSV 檔案:
$select = "SELECT * FROM table_name"; $export = mysql_query($select) or die("Sql error : " . mysql_error()); $fields = mysql_num_fields($export); // Generate the header line with field names for ($i = 0; $i < $fields; $i++) { $header .= mysql_field_name($export, $i) . "\t"; } // Process each row of the query results 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); // Set the HTTP headers for CSV download header("Content-type: application/octet-stream"); header("Content-Disposition: attachment; filename=your_desired_name.xls"); header("Pragma: no-cache"); header("Expires: 0"); // Output the CSV print "$header\n$data";
以上是如何使用兩種不同的方法在 PHP 中將 MySQL 查詢結果匯出為 CSV?的詳細內容。更多資訊請關注PHP中文網其他相關文章!