PHP备份数据库生成SQL文件并下载的函数代码
2015-01-24信息快讯网
这是一个将指定数据库里的所有表备份为一个SQL文件,可下载。这个源码来自dedecms程序,功能挺多,也很实用,但是代码的质量还有待提高
<!?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备份MySQL和网站发送到邮箱实例代码
php 备份数据库代码(生成word,excel,json,xml,sql)
PHP在不同页面间传递Json数据示例代码
解析PHP自带的进位制之间的转换函数
PHP rawurlencode与urlencode函数的深入分析
如何利用php array_multisort函数 对数据库结果进行复杂排序
PHP stripos()函数及注意事项的分析
深入php常用函数的使用汇总
深入理解php的MySQL连接类
探讨如何把session存入数据库
深入探讨:PHP使用数据库永久连接方式操作MySQL的是与非
深入理解用mysql_fetch_row()以数组的形式返回查询结果
fetchAll()与mysql_fetch_array()的区别详解
用mysql_fetch_array()获取当前行数据的方法详解
PHP高级对象构建 工厂模式的使用
PHP将整个网站生成HTML纯静态网页的方法总结
PHP持久连接mysql_pconnect()函数使用介绍
PHP中如何判断AJAX提交的数据
PHP中使用数组实现堆栈数据结构的代码
mysql数据库差异比较的PHP代码
PHP反转字符串函数strrev()函数的用法
PHP __autoload函数(自动载入类文件)的使用方法
PHP函数spl_autoload_register()用法和__autoload()介绍
PHP对象转换为数组函数(递归方法)
PHP开发者常犯的10个MySQL错误更正剖析
PHP中全面阻止SQL注入式攻击分析小结
php 无法加载mysql的module的时候的配置的解决方案引发的思考
如何用phpmyadmin设置mysql数据库用户的权限
使用PHPMyAdmin修复论坛数据库的图文方法
PHP网站备份程序代码分享
PHP备份/还原MySQL数据库的代码