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


Posted in PHP onFebruary 05, 2012
<!?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_row($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_row($createtable); 
$tabledump .= $create[1].";nn"; 
$rows = $db->query("SELECT * FROM $table"); 
$numfields = $db->num_fields($rows); 
$numrows = $db->num_rows($rows); 
while ($row = $db->fetch_row($rows)) 
{ 
$comma = ""; 
$tabledump .= "INSERT INTO $table VALUES("; 
for($i = 0; $i < $numfields; $i++) 
{ 
$tabledump .= $comma."'".mysql_escape_string($row[$i])."'"; 
$comma = ","; 
} 
$tabledump .= ");n"; 
} 
$tabledump .= "n"; 
return $tabledump; 
} 
?> 
<!--?php 
$host="localhost"; //主机名 
$user="root"; //MYSQL用户名 
$password="root"; //密码 
$dbname="dedecmsv4"; //备份的数据库 
mysql_connect($host,$user,$password); 
mysql_select_db($dbname); 
$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'].";rnrn";#DDL 
$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);rn"; 
} 
$mysql.="rn"; 
} 
$filename=date('Ymd')."_".$dbname.".sql"; //文件名为当天的日期 
$fp = fopen($filename,'w'); 
fputs($fp,$mysql); 
fclose($fp); 
echo "数据备份成功,生成备份文件".$filename; 
?>
PHP 相关文章推荐
php日历[测试通过]
Mar 27 PHP
php下通过POST还是GET来传值
Jun 05 PHP
php数组应用之比较两个时间的相减排序
Aug 18 PHP
PHP多个版本的分析解释
Jul 21 PHP
PHP生成验证码时“图像因其本身有错无法显示”的解决方法
Aug 07 PHP
根据中文裁减字符串函数的php代码
Dec 03 PHP
thinkphp获取栏目和文章当前位置的方法
Oct 29 PHP
smarty模板引擎基础知识入门
Mar 30 PHP
php结合md5实现的加密解密方法
Jan 25 PHP
yii2项目实战之restful api授权验证详解
May 20 PHP
PHP面向对象程序设计(OOP)之方法重写(override)操作示例
Dec 21 PHP
laravel配置Redis多个库的实现方法
Apr 10 PHP
PHP将整个网站生成HTML纯静态网页的方法总结
Feb 05 #PHP
php 搜索框提示(自动完成)实例代码
Feb 05 #PHP
PHP持久连接mysql_pconnect()函数使用介绍
Feb 05 #PHP
PHP测试程序运行时间的类
Feb 05 #PHP
PHP设计模式 注册表模式
Feb 05 #PHP
PHP设计模式 注册表模式(多个类的注册)
Feb 05 #PHP
需要注意的几个PHP漏洞小结
Feb 05 #PHP
You might like
一个捕获函数输出的函数
2007/02/14 PHP
PHP zip扩展Linux下安装过程分享
2014/05/05 PHP
php实现的双向队列类实例
2014/09/24 PHP
通过php动态传数据到highcharts
2017/04/05 PHP
laravel框架使用极光推送消息操作示例
2020/02/15 PHP
jQuery 处理网页内容的实现代码
2010/02/15 Javascript
理解Javascript_11_constructor实现原理
2010/10/18 Javascript
cookie.js 加载顺序问题怎么才有效
2013/07/31 Javascript
Javascript 浮点运算的问题分析与解决方法
2013/08/27 Javascript
使用jQuery设置disabled属性与移除disabled属性
2014/08/21 Javascript
jQuery中change事件用法实例
2014/12/26 Javascript
Jquery Easyui表单组件Form使用详解(30)
2016/12/19 Javascript
jquery.uploadView 实现图片预览上传功能
2017/08/10 jQuery
Bootstrap popover 实现鼠标移入移除显示隐藏功能方法
2018/01/24 Javascript
jsonp跨域及实现百度首页联想功能的方法
2018/08/30 Javascript
小程序实现留言板
2018/11/02 Javascript
深入浅析Vue中mixin和extend的区别和使用场景
2019/08/01 Javascript
element-ui中el-upload多文件一次性上传的实现
2020/12/02 Javascript
Python基于pygame实现的弹力球效果(附源码)
2015/11/11 Python
Python2.x与Python3.x的区别
2016/01/14 Python
简单谈谈Python流程控制语句
2016/12/04 Python
Ubuntu16.04/树莓派Python3+opencv配置教程(分享)
2018/04/02 Python
Python列表切片操作实例总结
2019/02/19 Python
python pytest进阶之conftest.py详解
2019/06/27 Python
使用Python为中秋节绘制一块美味的月饼
2019/09/11 Python
python的faker库用法
2019/11/28 Python
keras 多gpu并行运行案例
2020/06/10 Python
linux centos 7.x 安装 python3.x 替换 python2.x的过程解析
2020/12/14 Python
关于canvas绘制模糊问题的解决方法
2019/09/24 HTML / CSS
美国独家设计师眼镜在线光学商店:Glasses Gallery
2017/12/28 全球购物
非功能性需求都包括哪些方面
2013/10/29 面试题
母亲七十大寿答谢词
2014/01/18 职场文书
党员创先争优活动总结
2014/05/04 职场文书
作风建设整改方案
2014/10/27 职场文书
先进典型事迹材料
2014/12/29 职场文书
详解Python常用的魔法方法
2021/06/03 Python