Guest User

Untitled

a guest
Jan 27th, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.21 KB | None | 0 0
  1. <?php
  2.  
  3.  
  4.     $base =  "toto";
  5.     $serveur = "localhost";
  6.     $password = "";
  7.     $user = "root";
  8.  
  9.  
  10.             /* Connexion à MySQL */
  11. $p_base = mysql_connect($serveur, $user, $password) or die("Echec de connexion au serveur");
  12.  
  13.             /* Ouverture d`une base */
  14. mysql_select_db($base) or die("Echec de connexion à la Base");
  15.  
  16.  
  17.             // Entête du fichier de sauvegarde
  18. $flux = "-- Sauvegarde de la base " . $base . "\n";
  19. $flux .= "-- faite le " . date("j, n, Y") . "\n";
  20. $flux .= "-- a l`adresse : " . $_SERVER["HTTP_HOST"] . "\n";
  21. $flux .= "-- -----------------------------------------------\n";
  22.  
  23.  
  24.  
  25.         $requete = "Show table status from " . $base;
  26.         $p_resultat1 = mysql_query($requete);
  27.                
  28. if(!$p_resultat1) { // Test du code retour de l`exécution
  29.     if ($_SERVER[`SERVER_NAME`] == "localhost") {
  30.         echo "<hr />Requête = " . $requete . "\n";
  31.         echo "<br />Erreur N°" . mysql_errno() . ": " . mysql_error() . "\n";
  32. }
  33.     die("Echec d`exécution de la requête");
  34. }
  35. while($resultat1 = mysql_fetch_object($p_resultat1)) {
  36.  
  37.         // Boucle sur chaque table de la base
  38.  
  39.  
  40.         // commentaire : nom de la table
  41.     $flux .= "\n -- table " . $resultat1->Name . " ---\n";
  42.         // On génère un Drop "préventif" de la table
  43.     $flux .= "DROP TABLE IF EXISTS `" . $resultat1->Name . "`;\n";
  44.        
  45.    
  46.     $flux .= "CREATE TABLE " . $resultat1->Name . " (\n";
  47.  
  48.            
  49.             $demande = "SHOW FULL FIELDS FROM " . $resultat1->Name ;
  50.             $p_resultat2 = mysql_query($demande);
  51.             $sipremier = true;
  52.            
  53.             if(!$p_resultat2) { // Test du code retour de l`exécution
  54.                 if ($_SERVER[`SERVER_NAME`] == "localhost") {
  55.                     echo "<hr />Requête = " . $demande . "\n";
  56.                     echo "<br />Erreur N°" . mysql_errno() . ": " . mysql_error() . "\n";
  57.             }
  58.             die("Echec d`exécution de la requête");
  59.             }
  60.            
  61.             while($resultat2 = mysql_fetch_object($p_resultat2)) {
  62.             if(substr($resultat2->Type,0,3) == "int" or $resultat2->Type == "float")
  63. $numerique[] = true;
  64. else
  65. $numerique[] = false;
  66.                 if($sipremier == false)
  67.                     $flux .= ",\n";
  68.                 else
  69.                     $sipremier = false;
  70.                 $flux .= $resultat2->Field . " " . $resultat2->Type;
  71.                 if($resultat2->Null == "NO")
  72.                     $flux .= " Not null";
  73.  
  74.             }  
  75.             $flux .= "); \n";
  76.             mysql_free_result($p_resultat2);
  77.  
  78.             /* Boucle 3 sur le contenu d'une table */
  79.        
  80.             $demande = "select * from " . $resultat1->Name ;
  81.             $p_resultat3 = mysql_query($demande);
  82.             // $sipremier = true;
  83.  
  84.             if(!$p_resultat3) { // Test du code retour de l`exécution
  85.                 if ($_SERVER[`SERVER_NAME`] == "localhost") {
  86.                     echo "<hr />Requête = " . $demande . "\n";
  87.                     echo "<br />Erreur N°" . mysql_errno() . ": " . mysql_error() . "\n";
  88.                 }
  89.                 die("Echec d`exécution de la requête");
  90.             }          
  91.            
  92.             while($resultat3 = mysql_fetch_array($p_resultat3)) {
  93.                 $flux .= "Insert into `" . $resultat1->Name . "` values (";
  94.                 $premiere_fois = true;
  95.                 foreach($resultat3 as $cle => $valeurs) {
  96.                     if(is_int($cle))
  97.                         continue;
  98.                        
  99.                        
  100.                     if($premiere_fois == true)
  101.                         $premiere_fois = false;
  102.                     else
  103.                         $flux .= ', ';
  104.  
  105.                     if(is_numeric($valeurs))
  106.                         $flux .= $valeurs;
  107.                     else
  108.                         $flux .= '"' . $valeurs . '"';
  109.  
  110.                 }
  111.                 $flux .= ");\n";
  112.             }
  113.  
  114. }
  115. mysql_free_result($p_resultat1);
  116.  
  117.  
  118.  
  119. ?>
Add Comment
Please, Sign In to add comment