Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Mengeksport Keputusan Pertanyaan MySQL ke CSV dalam PHP?

Bagaimanakah Saya Boleh Mengeksport Keputusan Pertanyaan MySQL ke CSV dalam PHP?

DDD
DDDasal
2024-12-08 22:16:19486semak imbas

How Can I Export MySQL Query Results to CSV in PHP?

Mengeksport Keputusan Pertanyaan MySQL ke CSV dalam PHP

Untuk menukar hasil pertanyaan MySQL dengan cekap kepada fail CSV dalam PHP, anda boleh menggunakan pilihan berikut:

Menggunakan SELECT * INTO OUTFILE Sintaks

Satu pendekatan ialah menggunakan sintaks SELECT * INTO OUTFILE, yang membolehkan anda mengeksport hasil terus ke fail pada pelayan. Contohnya:

SELECT * INTO OUTFILE "c:/mydata.csv"
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY "\n"
FROM my_table;

Kaedah Programatik Menggunakan PHP

Sebagai alternatif, anda boleh menggunakan pendekatan program:

$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 (empty($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";

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengeksport Keputusan Pertanyaan MySQL ke CSV dalam 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