PHP备份数据库生成SQL文件并下载的函数代码

软件知识 2023-07-17 13:45www.caominkang.com软件知识

代码如下:
 <!?php
 / 备份数据库结构 /
 /
 函数名称table2sql()
 函数功能把表的结构转换成为SQL
 函数参数$table: 要进行提取的表名
 返 回 值返回提取后的结果,SQL集合
 函数作者heiyeluren
 /
 function table2sql($table)
 {
 global $db;
 $tabledump = "DROP TABLE IF EXISTS $table;n";
 $createtable = $db--->query("SHOW CREATE TABLE $table");
 $create = $db->fetch_ro($createtable);
 $tabledump .= $create[1].";nn";
 return $tabledump;
 }
 / 备份数据库结构和所有数据 /
 /
 函数名称data2sql()
 函数功能把表的结构和数据转换成为SQL
 函数参数$table: 要进行提取的表名
 返 回 值返回提取后的结果,SQL集合
 函数作者heiyeluren
 /
 function data2sql($table)
 {
 global $db;
 $tabledump = "DROP TABLE IF EXISTS $table;n";
 $createtable = $db->query("SHOW CREATE TABLE $table");
 $create = $db->fetch_ro($createtable);
 $tabledump .= $create[1].";nn";
 $ros = $db->query("SELECT FROM $table");
 $numfields = $db->num_fields($ros);
 $numros = $db->num_ros($ros);
 hile ($ro = $db->fetch_ro($ros))
 {
 $ma = "";
 $tabledump .= "INSERT INTO $table VALUES(";
 for($i = 0; $i < $numfields; $i++)
 {
 $tabledump .= $ma."'".mysql_escape_string($ro[$i])."'";
 $ma = ",";
 }
 $tabledump .= ");n";
 }
 $tabledump .= "n";
 return $tabledump;
 }
 ?>
 <!--?php
 $host="localhost"; //主机名
 $user="root"; //MYSQL用户名
 $passord="root"; //密码
 $dbname="dedecmsv4"; //备份的数据库
 mysql_connect($host,$user,$passord);
 mysql_select_db($dbname);
 $q1=mysql_query("sho tables");
 hile($t=mysql_fetch_array($q1)){
 $table=$t[0];
 $q2=mysql_query("sho create table `$table`");
 $sql=mysql_fetch_array($q2);
 $mysql.=$sql['Create Table'].";rnrn";#DDL
 $q3=mysql_query("select from `$table`");
 hile($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);rn";
 }
 $mysql.="rn";
 }
 $filename=date('Ymd')."_".$dbname.".sql"; //文件名为当天的日期
 $fp = fopen($filename,'');
 fputs($fp,$mysql);
 fclose($fp);
 echo "数据备份成功,生成备份文件".$filename;
 ?>

Copyright © 2016-2025 www.caominkang.com 曹敏电脑维修网 版权所有 Power by