Maison >développement back-end >tutoriel php >Comment exporter les résultats d'une requête MySQL au format CSV en PHP en utilisant deux méthodes différentes ?

Comment exporter les résultats d'une requête MySQL au format CSV en PHP en utilisant deux méthodes différentes ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-21 04:54:10479parcourir

How to Export MySQL Query Results as CSV in PHP Using Two Different Methods?

Comment exporter les résultats d'une requête MySQL au format CSV en PHP

L'exportation de données d'une base de données MySQL au format CSV peut être réalisée par différentes méthodes. Voici deux approches efficaces :

Utilisation du SELECT INTO OUTFILE de MySQL

Cette méthode permet d'exporter directement les résultats d'une requête vers un fichier CSV sur le serveur :

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

Créer un CSV Manuellement

Vous pouvez également créer le fichier CSV manuellement en utilisant 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";

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn