Visualizzazione dei risultati da 1 a 2 su 2

Discussione: backup database

  1. #1

    backup database

    ho un problema visto ke fra poco aprirò un nuovo sito ho voluto farmi uno script ke mi fa il backup di ftp e database, ma sul secondo ho un problema: quando recuopero i dati mi salva tutti i database e le tabelle mentre i dati ke ci sono dentro funzionano solo su alcune tabelle.

    ecco il codice:

    codice:
    <? 
    include('config.php'); 
    class dump_db 
    { 
      function dump_db() 
      { 
        global $host, $user, $pass, $cr_db; 
        $this->host = $host; 
        $this->user = $user; 
        $this->pass = $pass; 
        $this->cr_db = $cr_db; 
         
        if( $this->connetti() == false ) 
        { 
          die(mysql_error()); 
        } 
      } 
       
      function connetti() 
      { 
        if( ($this->db = mysql_connect($this->host, $this->user, $this->pass)) == false ) 
        { 
          return false; 
        } 
        return true; 
      } 
       
      function dump() 
      { 
        $back = ''; 
        $query = mysql_query("SHOW DATABASES", $this->db) or die(mysql_error()); 
        for( $x = 0; $x < mysql_num_rows($query); $x++ ) 
        { 
          $database = mysql_result($query, $x); 
          if( $this->cr_db ) 
          { 
            $back .= "CREATE DATABASE `{$database}`;\n\n"; 
          } 
          $new_query = mysql_query("SHOW TABLES FROM {$database}", $this->db) or die(mysql_error()); 
          for($i = 0; $i < mysql_num_rows($new_query); $i++ ) 
          { 
            $re = mysql_result($new_query, $i); 
            $back .= " CREATE TABLE `{$re}` (\n"; 
            $nquery = mysql_query("SHOW COLUMNS FROM {$database}.{$re}", $this->db) or die(mysql_error()); 
            for( $k = 0; $k < mysql_num_rows($nquery); $k++ ) 
            { 
              $colun = mysql_result($nquery, $k, true); 
              $tb = mysql_result($nquery, $k); 
              $campo = $tb; 
              $my = mysql_query("SHOW COLUMNS FROM {$database}.{$re} LIKE '{$campo}'") or die(mysql_error()); 
              $rmy = mysql_fetch_array($my); 
              $back .= ' `'.$campo.'`' . ' ' . $rmy['Type']; 
              $back .= ($rmy['Extra'] != '') ? ' '.$rmy['Extra'] : ''; 
              $back .= ($rmy['Key'] != '') ? ' PRIMARY KEY' : ''; 
              if( $k+1 != mysql_num_rows($nquery) ) 
              { 
                $back .= ","; 
              } 
              $back .= "\n"; 
            } 
            $st = mysql_db_query($database, "SHOW TABLE STATUS LIKE '{$re}'", $this->db) or die(mysql_error()); 
            $rst = mysql_fetch_array($st) or die(mysql_error()); 
            $eng = $rst['Engine']; 
            $aut = ($rst['Auto_increment'] == '') ? 1 : $rst['Auto_increment']; 
            $back .= ") ENGINE={$eng} AUTO_INCREMENT={$aut};\n\n"; 
            @set_time_limit(120); 
            $campi = mysql_query("SHOW COLUMNS FROM {$database}.{$re}") or die(mysql_error()); 
            $tot_campi = ''; 
            $a = 1; 
            while( $rc = mysql_fetch_array($campi) ) 
            { 
              $tot_campi .= '`'.$rc['Field'].'`'; 
              if( $a != mysql_num_rows($campi) ) 
              { 
                $tot_campi .= ', '; 
              } 
              $a++; 
            } 
          } 
          $tc = $tot_campi; 
          $tot_campi = ''; 
          $a = 1; 
          $qq = @mysql_query("SELECT * FROM {$database}.{$re}", $this->db) or die(mysql_error()); 
          while( $rq = @mysql_fetch_array($qq) ) 
          { 
            $back .= "INSERT INTO `{$re}` ($tc) VALUES ("; 
            $cc = explode(', ', $tc); 
            for( $z = 0; $z < count($cc); $z++ ) 
            { 
              $back .= "'".$rq[$z]."'"; 
              if($z+1 != count($cc)) 
              { 
                $back .= ', '; 
              } 
            } 
            $back .= ");\n"; 
          } 
          $back .= "\n"; 
        } 
        $this->back = $back; 
        return $back; 
      } 
       
      function create_file() 
      { 
        $filename = 'dump_db_' . date('d-m-y') . '.sql.gz'; 
        $handle = gzopen($filename, 'wb9'); 
        if( gzwrite($handle, $this->dump(), strlen($this->dump())) ) 
        { 
          return true; 
        } 
        else 
        { 
          return false; 
        } 
        gzclose($handle); 
      } 
    } 
    $back = new dump_db(); 
    echo nl2br($back->dump()); 
    /*if( $back->create_file() ) 
    { 
      echo "Il backup dei database è stato eseguito con successo"; 
    } 
    else 
    { 
      die('Errore durante l\'esportazione del database'); 
    }*/ 
    ?>
    ciao ^__^
    Realizzazione siti web:
    http://www.giacomotomolillo.net/

  2. #2
    up
    Realizzazione siti web:
    http://www.giacomotomolillo.net/

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.