当前位置:数据库 > SQLServer >>

php 备份mysql数据库(joomla数据库可直接使用,其他数据库稍作修改即可)

[php] 
<?php 
require_once('configuration.php'); 
$jconfig = new JConfig(); 
$connect = mysql_connect($jconfig->host ,$jconfig->user, $jconfig->password); 
$result = mysql_list_tables($jconfig->db);  
$tables = array(); 
while ($row = mysql_fetch_row($result)) { 
    $tables[] =  $row[0]; 

 
mysql_select_db($jconfig->db); 
$sql = ''; 
foreach($tables as $table){ 
    $sql .= backupTable($table); 

 
$r = file_put_contents('tmp/backup_'.date('Y-m-d-H-i-s').'.sql', $sql); 
 
if($r){ 
    die('success'); 
}else{ 
    die('lalala'); 

 
mysql_close($connect); 
 
function backupTable($table){ 
    $sqltxt = "DROP TABLE IF EXISTS $table;\n"; 
     
    $result = mysql_query("SHOW CREATE TABLE $table"); 
    $row = mysql_fetch_assoc($result); 
    $createsql = $row['Create Table']; 
    $sqltxt .= $createsql.";\n\n"; 
 
    $result = mysql_query("SELECT * FROM $table"); 
     
    $rows = array(); 
    while($row = mysql_fetch_assoc($result)){ 
        $fields = array(); 
        foreach($row as $field){ 
            $fields[] = '\''.mysql_escape_string($field).'\''; 
        } 
         
        $rows[] = '('.implode(',', $fields).')'; 
    } 
    if(!emptyempty($rows)){ 
        $sqltxt .= "INSERT INTO `$table` VALUES".implode(",\n", $rows).";\n"; 
    } 
     
     
    $sqltxt .= "\n"; 
 
    return $sqltxt; 

<?php
require_once('configuration.php');
$jconfig = new JConfig();
$connect = mysql_connect($jconfig->host ,$jconfig->user, $jconfig->password);
$result = mysql_list_tables($jconfig->db);
$tables = array();
while ($row = mysql_fetch_row($result)) {
 $tables[] =  $row[0];
}

mysql_select_db($jconfig->db);
$sql = '';
foreach($tables as $table){
 $sql .= backupTable($table);
}

$r = file_put_contents('tmp/backup_'.date('Y-m-d-H-i-s').'.sql', $sql);

if($r){
 die('success');
}else{
 die('lalala');
}

mysql_close($connect);

function backupTable($table){
 $sqltxt = "DROP TABLE IF EXISTS $table;\n";
 
 $result = mysql_query("SHOW CREATE TABLE $table");
 $row = mysql_fetch_assoc($result);
 $createsql = $row['Create Table'];
 $sqltxt .= $createsql.";\n\n";

 $result = mysql_query("SELECT * FROM $table");
 
 $rows = array();
 while($row = mysql_fetch_assoc($result)){
  $fields = array();
  foreach($row as $field){
   $fields[] = '\''.mysql_escape_string($field).'\'';
  }
  
  $rows[] = '('.implode(',', $fields).')';
 }
 if(!empty($rows)){
  $sqltxt .= "INSERT INTO `$table` VALUES".implode(",\n", $rows).";\n";
 }
 
 
 $sqltxt .= "\n";

 return $sqltxt;
}

 

补充:Web开发 , php ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,