Ich weiss nicht, ob es dazu fertige Lösungen gibt, ist aber auch in ein paar Minuten gemacht. Das folgende Script exportiert eine ganze DB nach csv. Natürlich wird für jede Tabelle eine eigene Datei erstellt:
PHP-Code:
<?php
include 'db_connect.inc.php'; // DB-Verbindung
define('_z_delim', "\n"); // Zeilenumbruch, je nach OS
define('_f_delim', ';'); // Feldbegrenzer
$sql = "SHOW TABLES";
$result = mysql_query($sql) or die("$sql
" . mysql_error());
while(list($tabelle) = mysql_fetch_row($result)){
export_tabelle($tabelle);
}
function export_tabelle($tabelle){
$datei = $tabelle . '.csv';
$fp = fopen($datei, 'w');
$sql = "SELECT * FROM $tabelle";
$result = mysql_query($sql) or die("$sql
" . mysql_error());
$titel = array();
// echo "$tabelle
"; // Tabellenname ausgeben
while($fields = mysql_fetch_field($result)){
$titel[] = $fields->name;
}
$tzeile = implode(_f_delim, $titel);
// echo $tzeile ."
";
fwrite($fp, $tzeile . _z_delim); // Titelzeile schreiben (falls nötig)
while($row = mysql_fetch_row($result)){
$line = implode(_f_delim, $row);
fwrite($fp, $line . _z_delim); // Zeile schreiben
// echo $line . "
";
}
fclose($fp);
}
?>
Ausnahmsweise hat auch mal "SELECT * FROM" seine Berechtigung