1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
<?php
//function
function mysql_sauv($server,$login,$pass,$base){
$bdd = mysql_connect($server,$login,$pass) or die ("Impossible de se connecter à la base");
mysql_select_db($base,$bdd) or die ("Impossible d'ouvrir la base de donnees");
$liste_tables = mysql_list_tables($base);
$dump=null;
// pour chaque table
for ($i=0;$i<mysql_num_rows($liste_tables);$i++){
$table_actuelle=mysql_result($liste_tables,$i,0);
//structure
$create= mysql_query("SHOW CREATE TABLE ".$table_actuelle) or die('ERREUR : '.mysql_error());
$tableau = mysql_fetch_array($create);
$tableau[1] .= ";";
$dump .= str_replace("\n", "", $tableau[1]);
$dump .= "<finReq>\n";
//données
$nb_colonnes=mysql_num_rows(mysql_query("SHOW COLUMNS FROM ". $table_actuelle));
$contenu=mysql_query("SELECT * FROM ".$table_actuelle);
// pour chaque ligne de la table en cours
for ($j=0;$j<mysql_num_rows($contenu);$j++){
$dump=$dump. 'INSERT INTO '.$table_actuelle.' VALUES (';
// pour chaque colonne de la ligne en cours
for($k=0;$k<$nb_colonnes;$k++){
// si 1ère colonne, la position des virgules est diff dans VALUES()
if($k==0){
$dump=$dump.'\''.addslashes(mysql_result($contenu,$j,$k)).'\'';
}
if($k!= 0){
$dump=$dump.',\''.addslashes(mysql_result($contenu,$j,$k)).'\'';
}
}
$dump=$dump. ');';
$dump .= "<finReq>\n";
}
}
mysql_close($bdd);
return $dump;
}
?> |