Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mengeksport Data MySQL ke CSV Dengan Cekap Menggunakan PHP?

Bagaimanakah Saya Boleh Mengeksport Data MySQL ke CSV Dengan Cekap Menggunakan PHP?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-22 15:24:15748semak imbas

How Can I Efficiently Export MySQL Data to CSV Using PHP?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn