Maison >développement back-end >tutoriel php >Comment exporter efficacement les résultats d'une requête MySQL au format CSV en PHP ?

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

Patricia Arquette
Patricia Arquetteoriginal
2024-12-05 10:46:101055parcourir

How to Efficiently Export MySQL Query Results to CSV in PHP?

Conversion efficace d'une requête MySQL en CSV en PHP

Pour convertir une requête MySQL en CSV en PHP, une méthode populaire consiste à exploiter INTO de SQL Commande OUTFILE. Avec cette approche, vous pouvez spécifier la destination de sortie et les options de formatage :

SELECT * INTO OUTFILE "/path/to/file.csv"
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY "\n"
FROM my_table;

Une autre option efficace consiste à récupérer par programme les résultats de la requête et à créer le CSV manuellement :

$select = "SELECT * FROM my_table";
$export = mysql_query($select);
$fields = mysql_num_fields($export);

$header = '';
for ($i = 0; $i < $fields; $i++) {
    $header .= mysql_field_name($export, $i) . "\t";
}

$data = '';
while ($row = mysql_fetch_row($export)) {
    $line = '';
    foreach ($row as $value) {
        $value = str_replace('"', '""', $value);
        $line .= '"' . $value . '"' . "\t";
    }
    $data .= trim($line) . "\n";
}

header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=my_file.csv");
print "$header\n$data";

Cette approche vous permet de personnaliser les délimiteurs de champs et les guillemets en fonction de vos besoins spécifiques.

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