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 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
|
/* d'après PHPMYEXPORT v3.3, Axel de Vignon [ www.vidax.net ] */
//Inclusion des fichiers
require_once("cnxGPEC.php");
$NbTables = 0;
$NbRecords = 0;
$dbname = 'gpec';
$sql = "SHOW TABLES FROM $dbname";
$result = mysql_query($sql);
if (!$result) {
$fichier .="Erreur DB, impossible de lister les tables\r\n";
$fichier .='Erreur MySQL : ' . mysql_error();
exit;
}
/* Génère le nom du fichier */
$date = date("d-m-Y H\hi\m");
$nom_fichier = $dbname." $date.sql";
$fichier = "\r\n".
"# Sauvegarde de la base GPEC le : ".$date."\r\n".
"#\r\n";
/* Tant qu'il y a des tables */
while ($row = mysql_fetch_row($result)){
$fichier .="\r\n#\r\n# Table `".$row[0]."`\r\n#\r\n";
/* La suppression est demandée */
$fichier .="DROP TABLE IF EXISTS `$row[0]`;\r\n";
/* Enregistre sa structure */
$req = mysql_query("SHOW CREATE TABLE ".$row[0]);
$res = mysql_fetch_array($req);
$fichier .=$res[1].";\r\n\r\n";
/* Sélectionne toutes les entrées de la table */
$requete = mysql_unbuffered_query("SELECT * FROM ".$row[0].";");
$nb = mysql_num_fields($requete);
$reqcomplete = "";
$j = 0;
/* Tant qu'il y a des entrées */
while($res = mysql_fetch_array($requete)){
$i = 0;
/* Differents types de requetes */
$fichier .="INSERT INTO `$row[0]`".$reqcomplete." VALUES (";
while($i<$nb){
/* Protege les caracteres speciaux */
$ligne = mysql_escape_string($res[$i]);
/* Si l'entree est un chiffre, pas de quotes */
if(is_numeric($ligne)) $fichier .=$ligne;
else $fichier .='"'.$ligne.'"';
/* Termine ou continue la ligne */
if($i == ($nb - 1)) $fichier .=');';
else $fichier .=', ';
$i++;
}
$fichier .="\r\n";
/* Compteur du nombre d'enregistrements */
$NbRecords ++;
}
/* Compteur du nombre de tables */
$NbTables ++;
}
/* Génère le pied de page */
$fichier .= "\r\n\r\n".
"#\r\n".
"# File: \"".$nom_fichier."\", ".$NbTables." table(s), ".$NbRecords." record(s)\r\n".
"#\r\n".
"#";
$sauvegarde = fopen($nom_fichier, "a");
fwrite($sauvegarde, $fichier."\r\n");
fclose($sauvegarde);
mysql_free_result($result); |
Partager