Conversion des requêtes MySQL au format CSV en PHP
L'exportation de données des bases de données MySQL au format CSV est une tâche courante. PHP propose différentes méthodes pour y parvenir. Une approche efficace qui évite la création de fichiers intermédiaires consiste à utiliser l'instruction SELECT * INTO OUTFILE :
SELECT * INTO OUTFILE "c:/mydata.csv" FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY "\n" FROM my_table;
Vous pouvez également utiliser le code PHP suivant :
$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 (!isset($value) || $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";
Les deux méthodes récupèrent les données de la base de données MySQL et convertissez-la directement au format CSV sans utiliser de fichiers temporaires.
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!