Salut.
<?php
// Connexion à MySql
$db_base = "nomdelabase";
header("Pragma: no-cache");
header("Content-Type: application/x-gzip; name=\"$db_base.sql.gz\"");
header("Content-Disposition: attachment;filename=\"$db_base.sql.gz\"");
header("Content-Transfer-Encoding: binary");
echo gzencode("--\n");
echo gzencode("-- Dump de la base $db_base\n");
echo gzencode("--\n");
$sql_tables = "SHOW TABLES";
$req_tables = mysql_query($sql_tables);
while (list($table) = mysql_fetch_row($req_tables)) {
echo gzencode("\n--\n-- Table $table\n\n");
echo gzencode("DROP TABLE IF EXISTS $table;\n");
$sql_create_table = "SHOW CREATE TABLE $table";
$req_create_table = mysql_query($sql_create_table);
$create_table = mysql_fetch_array($req_create_table);
echo gzencode($create_table[1].";\n");
echo gzencode("\n--\n-- Remplissage de $table\n\n");
$sql_fill_table = "SELECT * FROM $table";
$req_fill_table = mysql_query($sql_fill_table);
$req_fin = mysql_query ( " SELECT COUNT(*) FROM $table " );
$fin = mysql_fetch_row($req_fin);
if ( $fin['0'] != 0 ) {
$test = 1;
echo gzencode("INSERT INTO $table VALUES\n");
while ($row = mysql_fetch_assoc($req_fill_table)) {
$l_value = "(";
foreach ($row as $field => $value) {
$line_insert = "`$field`, ";
$l_value .= "'".mysql_real_escape_string($value)."', ";
}
$l_value = substr($l_value, 0, -2);
echo gzencode($l_value.")");
if ( $test == $fin['0'] ) {
echo gzencode(";\n"); }
else {
echo gzencode(",\n");
$test++; }
}
}
}
mysql_close();
?>