Maison >base de données >tutoriel mysql >Comment convertir efficacement les résultats d'une requête MySQL en CSV en PHP ?
Code PHP pour convertir une requête MySQL en CSV
En PHP, il existe des méthodes efficaces pour convertir les résultats d'une requête MySQL au format CSV, en minimisant besoin de fichiers temporaires :
Méthode 1 : SELECT INTO OUTFILE
SELECT * INTO OUTFILE "c:/mydata.csv" FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY "\n" FROM my_table;
Cette commande exporte directement les résultats de la requête vers un fichier CSV. Reportez-vous à la documentation MySQL pour sa syntaxe et ses options.
Méthode 2 : Conversion manuelle
$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";
Cette méthode implique de parcourir les résultats de la requête ligne par ligne, de formater et délivrer chaque champ sous la forme d'une valeur séparée par des virgules. La première ligne contient les noms des champs.
Ces approches fournissent des solutions portables pour exporter les résultats des requêtes MySQL au format CSV, offrant flexibilité et traitement efficace.
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!