Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Mengeksport Keputusan Pertanyaan MySQL sebagai CSV dalam PHP Menggunakan Dua Kaedah Berbeza?
Cara Mengeksport Keputusan Pertanyaan MySQL sebagai CSV dalam PHP
Mengeksport data daripada pangkalan data MySQL sebagai CSV boleh dicapai melalui pelbagai kaedah. Berikut ialah dua pendekatan yang cekap:
Menggunakan MySQL's SELECT INTO OUTFILE
Kaedah ini membolehkan anda mengeksport terus hasil pertanyaan ke fail CSV pada pelayan:
$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");
Membuat CSV Secara manual
Sebagai alternatif, anda boleh mencipta fail CSV secara manual menggunakan PHP:
$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";
Atas ialah kandungan terperinci Bagaimana untuk Mengeksport Keputusan Pertanyaan MySQL sebagai CSV dalam PHP Menggunakan Dua Kaedah Berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!