Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/09/2006, 16h01   #1
Nouveau Membre du Club
 
Inscription : février 2004
Messages : 93
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 93
Points : 28
Points : 28
Envoyer un message via MSN à developpeur_mehdi
Par défaut [SQL] script de dump d'une base de donnée

bonjours à tous
voila il m'ai demandé de conçevoir une appli perméttant de dumpé une base de donnée (et ce en générant un script sql ou autre) pour la recrée autre part (une sorte d'enregsitrer sous)
je sais que PhpMyadmin peut le faire mais le truc serai que je puisse intégré cette fonction dans une appli propore à moi
j'ai pas mal trifouillié le code de phpMyAdmin pour pouvoir en soustraire le script mais (pour l'heure) je suis pérdue
donc si quélqu'un a une idée, une piste, un script tout prés
ben je le remércie d'avance
voila bon code a tous
developpeur_mehdi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2006, 16h19   #2
Inactif
 
Avatar de Kerod
 
Inscription : septembre 2004
Messages : 11 753
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 11 753
Points : 14 585
Points : 14 585
Tu as plusieurs exemple de code sur la page sources PHP : Bases de données
Kerod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2006, 21h02   #3
Nouveau Membre du Club
 
Inscription : février 2004
Messages : 93
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 93
Points : 28
Points : 28
Envoyer un message via MSN à developpeur_mehdi
Par défaut Merci

Merci infiniement mais j'ai une autre question
est il possible d'avoir un script sql d'une base de donnée Quelconque
,et non pas spécifique a Mysql comme c'est le cas sur la faq, comme le fait un logiciel comme Power AMC par exemple
sinon peut on réussir a faire un dump d'une base de donnée Oracle???
voila et Merci d'avance
developpeur_mehdi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/03/2010, 08h17   #4
Invité de passage
 
Inscription : avril 2009
Messages : 1
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 1
Points : 1
Points : 1
Par défaut script dump

Bonjour,

Voici un script qui devrait répondre à ce genre de besoin,

Code :
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
 
<?php
//Data dbb
$server_bdd="localhost";
$user_bdd="root";
$pass_bdd="";
 
 
//Récupération du paramètre de l'url pour connaitre ou enregistrer les dump
$main_folder=$_GET['folder'];
// Si le dossier n'existe pas, on le créé
if(!file_exists($main_folder)) 
{
mkdir($main_folder); 
}
 
// création d'un horodate pour l'historisation
$date = date("dmYHis");
 
// Connexion à la bdd
$link = mysql_connect($server_bdd, $user_bdd, $pass_bdd);
 
// Récupération des bases
$db_list = mysql_list_dbs($link);
 
// Pour chaque bdd
while ($row = mysql_fetch_object($db_list)) {
// Les echo servent à tracer l'execution et le fwrite servent à écrire dans le fichier de dump
 
echo "___________________  Traitement de la base <span><u><b>".$row->Database."</b></u></span> ___________________________<br />";
 
// Focalisation sur la bdd courante
mysql_select_db($row->Database);
 
// S'il n'existe pas de dossier pour cette base, on le créé, en effet le script va creer 1 dossier / bdd et historisera les bases dedans
if(!file_exists($main_folder."/".$row->Database)) 
{
mkdir($main_folder."/".$row->Database); 
}
 
 
// Création du nom de fichier
$db_base=$row->Database."_".$date; //Nom du fichier voulu
 
// Création du fichier
$inF = fopen($main_folder."/".$row->Database."/".$db_base.".sql","w");
 
fwrite($inF,"--\n");
fwrite($inF,"-- Dump de la base $db_base\n");
fwrite($inF,"--\n");
 
$sql_tables = "SHOW TABLES";
$req_tables = mysql_query($sql_tables);
 
// Pour chaque table
while (list($table) = mysql_fetch_row($req_tables)) {
echo "<br />Table <b>".$table."</b><br />";
   fwrite($inF,"\n--\n-- Table $table\n\n");
   fwrite($inF,"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);
   fwrite($inF,$create_table[1].";\n");
   fwrite($inF,"\n--\n-- Remplissage de $table\n\n");
   $sql_fill_table = "SELECT * FROM $table";
   $req_fill_table = mysql_query($sql_fill_table);
 
   // Les insert...
   while ($row = mysql_fetch_assoc($req_fill_table)) {
      $line_insert = "INSERT INTO $table (";
      $l_value = ") VALUES (";
      foreach ($row as $field => $value) {
         $line_insert .= "`$field`, ";
         $l_value .= "'".mysql_real_escape_string($value)."', ";
      }
      $line_insert = substr($line_insert, 0, -2);
      $l_value = substr($l_value, 0, -2);
      fwrite($inF,$line_insert.$l_value.");\n");
   }
}
fclose($inF);
}
 
 
?>

Julien
julien9585 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h02.


 
 
 
 
Partenaires

Hébergement Web