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!