Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Perbincangan ringkas tentang kaedah backup dan restore php MySql

Perbincangan ringkas tentang kaedah backup dan restore php MySql

PHPz
PHPzasal
2016-05-16 09:00:112194semak imbas

Artikel ini akan memperkenalkan anda kepada kaedah mudah untuk membuat sandaran dan memulihkan MySql dalam PHP, yang melibatkan kemahiran yang berkaitan dengan sambungan PHP, pertanyaan dan operasi fail untuk pangkalan data MySQL. Ia mempunyai nilai rujukan tertentu Rakan-rakan yang memerlukan boleh merujuk kepadanya.

Perbincangan ringkas tentang kaedah backup dan restore php MySql

1 Sandaran:

<?php
header ( "content-Type: text/html; charset=utf-8" );
//备份数据库
$host="localhost";
$user="root";//数据库账号
$password="123456";//数据库密码
$dbname="test";//数据库名称
//这里的账号、密码、名称都是从页面传过来的
if(!mysql_connect($host,$user,$password)) //连接mysql数据库
{
 echo &#39;数据库连接失败,请核对后再试&#39;;
 exit;
}
if(!mysql_select_db($dbname)) //是否存在该数据库
{
 echo &#39;不存在数据库:&#39;.$dbname.&#39;,请核对后再试&#39;;
 exit;
}
mysql_query("set names &#39;utf8&#39;");
$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[&#39;Create Table&#39;].";\r\n";
  $q3=mysql_query("select * from `$table`");
  while($data=mysql_fetch_assoc($q3)){
    $keys=array_keys($data);
    $keys=array_map(&#39;addslashes&#39;,$keys);
    $keys=join(&#39;`,`&#39;,$keys);
    $keys="`".$keys."`";
    $vals=array_values($data);
    $vals=array_map(&#39;addslashes&#39;,$vals);
    $vals=join("&#39;,&#39;",$vals);
    $vals="&#39;".$vals."&#39;";
    $mysql.="insert into `$table`($keys) values($vals);\r\n";
  }
}
$filename="data/".$dbname.date(&#39;Ymjgi&#39;).".sql"; //存放路径,默认存放到项目最外层
$fp = fopen($filename,&#39;w&#39;);
fputs($fp,$mysql);
fclose($fp);
echo "数据备份成功";
?>

2 🎜>Saya harap apa yang diterangkan dalam artikel ini akan membantu semua orang dalam reka bentuk pengaturcaraan PHP.

Pembelajaran yang disyorkan: "
<!--
 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"; //主机名
$user="root"; //MYSQL用户名
$password="123456"; //密码
$dbname="test"; //在此指定您要恢复的数据库名,不存在则必须先创建,请自已修改数据库名
mysql_connect($host,$user,$password);
mysql_select_db($dbname);
$mysql_file="data/".$filename; //指定要恢复的MySQL备份文件路径,请自已修改此路径
restore($mysql_file); //执行MySQL恢复命令
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); //根据";\r\n"条件对数据库中分条执行
  $total=count($a)-1;
  mysql_query("set names &#39;utf8&#39;");
  for ($i=0;$i<$total;$i++)
  {
  mysql_query("set names &#39;utf8&#39;");
  //执行命令
  if(mysql_query($a[$i]))
  {
   $cg+=1;
  }
  else
  {
   $sb+=1;
   $sb_command[$sb]=$a[$i];
  }
  }
  echo "操作完毕,共处理 $total 条命令,成功 $cg 条,失败 $sb 条";
  //显示错误信息
  if ($sb>0)
  {
  echo "<hr><br><br>失败命令如下:<br>";
  for ($ii=1;$ii<=$sb;$ii++)
  {
   echo "<p><b>第 ".$ii." 条命令(内容如下):</b><br>".$sb_command[$ii]."</p><br>";
  }
  }  //-----------------------------------------------------------
 }else{
  echo "MySQL备份文件不存在,请检查文件路径是否正确!";
 }
 }
?>
Tutorial Video PHP

"

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn