php 備份mysql資料庫(joomla資料庫可直接使用,其他資料庫稍作修改即可)_PHP教程

來源:互聯網
上載者:User
[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;
}

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

http://www.bkjia.com/PHPjc/477589.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/477589.htmlTechArticle[php] ?php require_once(configuration.php); $jconfig = new JConfig(); $connect = mysql_connect($jconfig-host ,$jconfig-user, $jconfig-password); $result = mysql_list_tables($jconfi...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.