Menukar Pertanyaan MySQL kepada CSV dalam PHP
Mengeksport data daripada pangkalan data MySQL ke dalam format CSV ialah tugas biasa. PHP menawarkan pelbagai kaedah untuk mencapai ini. Satu pendekatan cekap yang mengelakkan penciptaan fail perantaraan ialah menggunakan pernyataan SELECT * INTO OUTFILE:
SELECT * INTO OUTFILE "c:/mydata.csv" FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY "\n" FROM my_table;
Sebagai alternatif, anda boleh menggunakan kod PHP berikut:
$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";
Kedua-dua kaedah mendapatkan data daripada pangkalan data MySQL dan tukarkannya terus kepada format CSV tanpa menggunakan fail sementara.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengeksport Data MySQL ke CSV Dengan Cekap Menggunakan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!