Acceuil php, js(268) Sources : Sauvegarder la structure et les données d'une base MySQL
|
| Sources : Sauvegarder la structure et les données d'une base MySQL |
2010-08-31 |
|
function dumpMySQL($serveur, $login,
$password, $base, $mode)
{
$connexion = mysql_connect($serveur, $login, $password);
mysql_select_db($base, $connexion);
$entete = "-- ----------------------n";
$entete
.= "-- dump de la base ".$base." au ".date("d-M-Y")."n";
$entete .= "-- ----------------------nnn";
$creations = "";
$insertions = "nn";
$listeTables = mysql_query("show tables",
$connexion);
while($table = mysql_fetch_array($listeTables))
{
// si
l'utilisateur a demandé la structure ou la totale
if($mode == 1 || $mode == 3)
{
$creations .= "-- -----------------------------n";
$creations .= "-- creation de la table
".$table[0]."n";
$creations .= "-- -----------------------------n";
$listeCreationsTables = mysql_query("show create table ".$table[0], $connexion);
while($creationTable =
mysql_fetch_array($listeCreationsTables))
{
$creations .= $creationTable
[1].";nn";
}
}
// si l'utilisateur a demandé les données ou la
totale
if($mode > 1)
{
$donnees = mysql_query("SELECT * FROM ".$table
[0]);
$insertions .= "-- -----------------------------n";
$insertions .= "--
insertions dans la table ".$table[0]."n";
$insertions .= "-- -----------------------------n";
while($nuplet = mysql_fetch_array($donnees))
{
$insertions .= "INSERT
INTO ".$table[0]." VALUES(";
for($i=0; $i < mysql_num_fields($donnees); $i++)
{
if($i != 0)
$insertions .= ", ";
if
(mysql_field_type($donnees, $i) == "string" || mysql_field_type($donnees, $i) == "blob")
$insertions .= "'";
$insertions .= addslashes($nuplet[$i]);
if
(mysql_field_type($donnees, $i) == "string" || mysql_field_type($donnees, $i) == "blob")
$insertions .= "'";
}
$insertions .= ");n";
}
$insertions .= "n";
}
}
mysql_close($connexion);
$fichierDump = fopen("dump.sql", "wb");
fwrite($fichierDump, $entete);
fwrite
($fichierDump, $creations);
fwrite($fichierDump, $insertions);
fclose($fichierDump);
echo "Sauvegarde réalisée avec succès !!";
}
À appeler sous la forme suivante
:
dumpMySQL("127.0.0.1", "root", "", "ma_base", 3);
|
| Commentaires des visiteurs : |
|