Heim >Datenbank >MySQL-Tutorial >Wie kann ich MySQL-Daten mit PHP effizient in CSV exportieren?

Wie kann ich MySQL-Daten mit PHP effizient in CSV exportieren?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-22 15:24:15717Durchsuche

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

Konvertieren von MySQL-Abfragen in CSV in PHP

Das Exportieren von Daten aus MySQL-Datenbanken in das CSV-Format ist eine häufige Aufgabe. PHP bietet hierfür verschiedene Methoden an. Ein effizienter Ansatz, der die Erstellung einer Zwischendatei vermeidet, ist die Verwendung der SELECT * INTO OUTFILE-Anweisung:

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

Alternativ können Sie den folgenden PHP-Code verwenden:

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

Beide Methoden rufen Daten ab die MySQL-Datenbank und konvertieren Sie sie direkt in das CSV-Format, ohne temporäre Dateien zu verwenden.

Das obige ist der detaillierte Inhalt vonWie kann ich MySQL-Daten mit PHP effizient in CSV exportieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn