Heim > php教程 > php手册 > 如何用PHP的页面备份、恢复Mysql数据库中的数据表

如何用PHP的页面备份、恢复Mysql数据库中的数据表

WBOY
Freigeben: 2016-06-21 09:07:09
Original
944 Leute haben es durchsucht

mysql|备份|恢复|数据|数据库|页面

       
  //备份数据  
    $i   =   0;  
    $crlf="\r\n";  
    $dbname="xgtqr";  
    global     $dbconn;  
    $dbconn   =   mysql_connect("localhost","root","root");  
    $db   =   mysql_select_db("xgtqr",$dbconn);  
    $tables   =   mysql_list_tables("xgtqr",$dbconn);  
    $num_tables   =   @mysql_numrows($tables);  
          while($i             {    
                  $table   =   mysql_tablename($tables,   $i);  
   
                  print   $crlf;  
                  print   $crlf;  
   
                  echo   get_table_def($dbname,   $table,   $crlf).";$crlf$crlf";  
                  echo   get_table_content($dbname,   $table,   $crlf);  
                  $i++;  
          }  
   
  //定义抽取表结构与数据  
   
   
  function   get_table_def($db,   $table,   $crlf)  
  {  
          global   $drop;  
   
          $schema_create   =   "";  
          if(!empty($drop))  
                  $schema_create   .=   "DROP   TABLE   IF   EXISTS   $table;$crlf";  
   
          $schema_create   .=   "CREATE   TABLE   $table   ($crlf";  
          $result   =   mysql_db_query($db,   "SHOW   FIELDS   FROM   $table");  
          while($row   =   mysql_fetch_array($result))  
          {  
                  $schema_create   .=   "       $row[Field]   $row[Type]";  
   
                  if(isset($row["Default"])   &&   (!empty($row["Default"])   ||   $row["Default"]   ==   "0"))  
                          $schema_create   .=   "   DEFAULT   '$row[Default]'";  
                  if($row["Null"]   !=   "YES")  
                          $schema_create   .=   "   NOT   NULL";  
                  if($row["Extra"]   !=   "")  
                          $schema_create   .=   "   $row[Extra]";  
                  $schema_create   .=   ",$crlf";  
          }  
          $schema_create   =   ereg_replace(",".$crlf."$",   "",   $schema_create);  
          $result   =   mysql_db_query($db,   "SHOW   KEYS   FROM   $table");  
          while($row   =   mysql_fetch_array($result))  
          {  
                  $kname=$row['Key_name'];  
                  if(($kname   !=   "PRIMARY")   &&   ($row['Non_unique']   ==   0))  
                          $kname="UNIQUE|$kname";  
                    if(!isset($index[$kname]))  
                            $index[$kname]   =   array();  
                    $index[$kname][]   =   $row['Column_name'];  
          }  
   
          while(list($x,   $columns)   =   @each($index))  
          {  
                    $schema_create   .=   ",$crlf";  
                    if($x   ==   "PRIMARY")  
                            $schema_create   .=   "       PRIMARY   KEY   ("   .   implode($columns,   ",   ")   .   ")";  
                    elseif   (substr($x,0,6)   ==   "UNIQUE")  
                          $schema_create   .=   "       UNIQUE   ".substr($x,7)."   ("   .   implode($columns,   ",   ")   .   ")";  
                    else  
                          $schema_create   .=   "       KEY   $x   ("   .   implode($columns,   ",   ")   .   ")";  
          }  
   
          $schema_create   .=   "$crlf)";  
          return   (stripslashes($schema_create));  
  }  
   
  //保存数据表的值  
  function   get_table_content($db,   $table,   $crlf)  
  {  
          $schema_create   =   "";  
          $temp   =   "";  
          $result   =   mysql_db_query($db,   "SELECT   *   FROM   $table");  
          $i   =   0;  
          while($row   =   mysql_fetch_row($result))  
          {  
                  $schema_insert   =   "INSERT   INTO   $table   VALUES   (";  
                  for($j=0;   $j                  {  
                          if(!isset($row[$j]))  
                                  $schema_insert   .=   "   NULL,";  
                          elseif($row[$j]   !=   "")  
                                  $schema_insert   .=   "   '".addslashes($row[$j])."',";  
                          else  
                                  $schema_insert   .=   "   '',";  
                  }  
                  $schema_insert   =   ereg_replace(",$",   "",   $schema_insert);  
                  $schema_insert   .=   ");$crlf";  
                  $temp   =   $temp.$schema_insert   ;  
                  $i++;  
          }  
          return   $temp;  
  }  
  ?>  
联系QQ:31443433



Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage