欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

php簡單備份與還原MySql的方法

 更新時(shí)間:2016年05月09日 11:02:12   作者:果凍  
這篇文章主要介紹了php簡單備份與還原MySql的方法,涉及php針對mysql數(shù)據(jù)庫的連接、查詢及文件操作相關(guān)技巧,需要的朋友可以參考下

本文實(shí)例講述了php簡單備份與還原MySql的方法。分享給大家供大家參考,具體如下:

一、備份:

<?php
header ( "content-Type: text/html; charset=utf-8" );
//備份數(shù)據(jù)庫
$host="localhost";
$user="root";//數(shù)據(jù)庫賬號(hào)
$password="123456";//數(shù)據(jù)庫密碼
$dbname="test";//數(shù)據(jù)庫名稱
//這里的賬號(hào)、密碼、名稱都是從頁面?zhèn)鬟^來的
if(!mysql_connect($host,$user,$password)) //連接mysql數(shù)據(jù)庫
{
 echo '數(shù)據(jù)庫連接失敗,請核對后再試';
 exit;
}
if(!mysql_select_db($dbname)) //是否存在該數(shù)據(jù)庫
{
 echo '不存在數(shù)據(jù)庫:'.$dbname.',請核對后再試';
 exit;
}
mysql_query("set names 'utf8'");
$mysql= "set charset utf8;\r\n";
$q1=mysql_query("show tables");
while($t=mysql_fetch_array($q1)){
  $table=$t[0];
  $q2=mysql_query("show create table `$table`");
  $sql=mysql_fetch_array($q2);
  $mysql.=$sql['Create Table'].";\r\n";
  $q3=mysql_query("select * from `$table`");
  while($data=mysql_fetch_assoc($q3)){
    $keys=array_keys($data);
    $keys=array_map('addslashes',$keys);
    $keys=join('`,`',$keys);
    $keys="`".$keys."`";
    $vals=array_values($data);
    $vals=array_map('addslashes',$vals);
    $vals=join("','",$vals);
    $vals="'".$vals."'";
    $mysql.="insert into `$table`($keys) values($vals);\r\n";
  }
}
$filename="data/".$dbname.date('Ymjgi').".sql"; //存放路徑,默認(rèn)存放到項(xiàng)目最外層
$fp = fopen($filename,'w');
fputs($fp,$mysql);
fclose($fp);
echo "數(shù)據(jù)備份成功";
?>

二、還原

<!--
 author:果凍
 qq:52091199
 blog:http://wyg517.blog.163.com
-->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
$filename = "test20101216923.sql";
$host="localhost"; //主機(jī)名
$user="root"; //MYSQL用戶名
$password="123456"; //密碼
$dbname="test"; //在此指定您要恢復(fù)的數(shù)據(jù)庫名,不存在則必須先創(chuàng)建,請自已修改數(shù)據(jù)庫名
mysql_connect($host,$user,$password);
mysql_select_db($dbname);
$mysql_file="data/".$filename; //指定要恢復(fù)的MySQL備份文件路徑,請自已修改此路徑
restore($mysql_file); //執(zhí)行MySQL恢復(fù)命令
function restore($fname)
 {
 if (file_exists($fname)) {
  $sql_value="";
  $cg=0;
  $sb=0;
  $sqls=file($fname);
  foreach($sqls as $sql)
  {
  $sql_value.=$sql;
  }
  $a=explode(";\r\n", $sql_value); //根據(jù)";\r\n"條件對數(shù)據(jù)庫中分條執(zhí)行
  $total=count($a)-1;
  mysql_query("set names 'utf8'");
  for ($i=0;$i<$total;$i++)
  {
  mysql_query("set names 'utf8'");
  //執(zhí)行命令
  if(mysql_query($a[$i]))
  {
   $cg+=1;
  }
  else
  {
   $sb+=1;
   $sb_command[$sb]=$a[$i];
  }
  }
  echo "操作完畢,共處理 $total 條命令,成功 $cg 條,失敗 $sb 條";
  //顯示錯(cuò)誤信息
  if ($sb>0)
  {
  echo "<hr><br><br>失敗命令如下:<br>";
  for ($ii=1;$ii<=$sb;$ii++)
  {
   echo "<p><b>第 ".$ii." 條命令(內(nèi)容如下):</b><br>".$sb_command[$ii]."</p><br>";
  }
  }  //-----------------------------------------------------------
 }else{
  echo "MySQL備份文件不存在,請檢查文件路徑是否正確!";
 }
 }
?>

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP基于pdo操作數(shù)據(jù)庫技巧總結(jié)》、《PHP+MongoDB數(shù)據(jù)庫操作技巧大全》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總

希望本文所述對大家PHP程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • PHP構(gòu)造函數(shù)與析構(gòu)函數(shù)用法示例

    PHP構(gòu)造函數(shù)與析構(gòu)函數(shù)用法示例

    這篇文章主要介紹了PHP構(gòu)造函數(shù)與析構(gòu)函數(shù)用法,簡單講述php中構(gòu)造函數(shù)與析構(gòu)函數(shù)的定義與使用方法,并結(jié)合實(shí)例形式演示了構(gòu)造函數(shù)與析構(gòu)函數(shù)的執(zhí)行順序,需要的朋友可以參考下
    2016-09-09
  • 解析PHP觀察者模式Observer

    解析PHP觀察者模式Observer

    Observer,首先要有一個(gè)被觀察的角色,但它是【唯一的】。雖然"表演者"只有一個(gè)但是"觀眾"有很多,既一群"人"圍觀一個(gè)"人"。既然有無數(shù)個(gè)觀察者,那么我們需要知道都有哪一些"人"。所以我們需要一個(gè)“容器”來記錄這些"人",一個(gè)類似于數(shù)組一樣來儲(chǔ)存所有觀察者的容器。
    2021-05-05
  • PHP實(shí)現(xiàn)批量刪除(封裝)

    PHP實(shí)現(xiàn)批量刪除(封裝)

    本篇文章主要介紹了PHP實(shí)現(xiàn)批量刪除(封裝)的相關(guān)知識(shí)。具有很好的參考價(jià)值。下面跟著小編一起來看下吧
    2017-04-04
  • PHP開發(fā)不能違背的安全規(guī)則 過濾用戶輸入

    PHP開發(fā)不能違背的安全規(guī)則 過濾用戶輸入

    作為PHP程序員,特別是新手,對于互聯(lián)網(wǎng)的險(xiǎn)惡總是知道的太少,對于外部的入侵有很多時(shí)候是素手無策的,他們根本不知道黑客是如何入侵的、提交入侵、上傳漏洞、sql 注入、跨腳本攻擊等等。
    2011-05-05
  • Zend Guard使用指南及問題處理

    Zend Guard使用指南及問題處理

    這篇文章主要介紹了Zend Guard使用指南及問題處理,需要的朋友可以參考下
    2015-01-01
  • php如何比較兩個(gè)浮點(diǎn)數(shù)是否相等詳解

    php如何比較兩個(gè)浮點(diǎn)數(shù)是否相等詳解

    這篇文章主要給大家介紹了關(guān)于php如何比較兩個(gè)浮點(diǎn)數(shù)是否相等的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02
  • PHP獲取數(shù)組的鍵與值方法小結(jié)

    PHP獲取數(shù)組的鍵與值方法小結(jié)

    這篇文章主要介紹了PHP獲取數(shù)組的鍵與值方法,實(shí)例總結(jié)了key()、current()、each()、list()等方法的相關(guān)使用技巧,需要的朋友可以參考下
    2015-06-06
  • mysql時(shí)區(qū)問題

    mysql時(shí)區(qū)問題

    表中有一個(gè)datetime字段是由服務(wù)器所在時(shí)區(qū)插入的當(dāng)前時(shí)間,能不能從sql語句中取出服務(wù)器所在的時(shí)區(qū)(如-8),如何在sql中把這個(gè)字段轉(zhuǎn)換成我想要的時(shí)區(qū)的時(shí)間
    2008-03-03
  • PHP之短標(biāo)簽開啟設(shè)置

    PHP之短標(biāo)簽開啟設(shè)置

    本篇文章是對PHP中開啟短標(biāo)簽的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • 完美利用Yii2微信后臺(tái)開發(fā)的系列總結(jié)

    完美利用Yii2微信后臺(tái)開發(fā)的系列總結(jié)

    Yii2是一個(gè)高性能,基于組件的 PHP 框架,這篇文章詳細(xì)的給大家介紹了利用Yii2開發(fā)微信后臺(tái)。我們一起來看看。
    2016-07-07

最新評論