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!