知识屋:更实用的电脑技术知识网站
所在位置:首页 > 编程技术 > PHP编程

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

发布时间:2015-05-27 19:28:22作者:知识屋

[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;
}

 

(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜