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

复制代码代码如下所示:
PHP!
******备份数据库结构****** / /
*
函数名:table2sql()
函数函数:将表的结构转换为sql
函数参数:$表:提取表名
返回值:返回提取的结果,SQL集
作者:heiyeluren功能
* /
功能table2sql(元表)
{
全局db;
tabledump美元=删除表如果存在$表;n ;
createtable美元=美元DB ->查询(显示创建表$表);
为创建DB -> fetch_row美元(美元createtable);
tabledump美元美元创造{ 1 }。;
返回的tabledump;
}
/ ******备份数据库结构和数据****** /
*
函数名:data2sql()
函数功能:将表的结构和数据转换为SQL
函数参数:$表:提取表名
返回值:返回提取的结果,SQL集
作者:heiyeluren功能
* /
功能data2sql(元表)
{
全局db;
tabledump美元=删除表如果存在$表;n ;
createtable美元=美元DB ->查询(显示创建表$表);
为创建DB -> fetch_row美元(美元createtable);
tabledump美元美元创造{ 1 }。;
从表;
numfields美元=美元DB -> num_fields(合行);
numrows美元=美元DB -> num_rows(合行);
而($行= $数据库-> fetch_row(合行))
{
= $逗号;
tabledump美元=插入表中的值(美元;
为($我= 0;美元美元美元我<< numfields;i++)
{
tabledump美元=为逗号。。mysql_escape_string($行{我})。;
= $逗号
}
$tabledump; n). ;
}
tabledump美元= ;
返回的tabledump;
}
>
<!PHP
为主机=localhost; / /主机名
$root;
密码;
在美元=dedecmsv4 ; / /备份数据库
mysql_connect(美元美元美元的主机,用户,密码);
mysql_select_db($ dbname);
美元mysql_query(Q1 =显示表);
而(T = mysql_fetch_array美元($ Q1)){
$表= $ { { 0 };
$ Q2 = mysql_query(显示表的创建` $表` );
SQL mysql_fetch_array美元(美元Q2);
为MySQL,SQL表} {'创建美元。;台湾;# DDL
$ Q3 = mysql_query(SELECT * FROM ` $表` );
而($data = mysql_fetch_assoc($ Q3))
{
钥匙= array_keys美元(美元数据);
$键= array_map('addslashes,$键);
$ =联接(或,$,$);
美元=$键。;
瓦尔斯= array_values美元(美元数据);
瓦尔斯美元= array_map('addslashes,瓦尔斯美元);
瓦尔斯美元=加入(,,$ VALS);
瓦尔斯美元=VAL美元。;
为MySQL。=插入表`美元`($键)值($ VAL);rn;
}
$;
}
为文件名=日期('ymd)。_ 在美元。;;文件名是一天的日期。
$ FP = fopen($文件名,'w');
作用是:将内容(FP美元美元,MySQL);
Fclose($ FP);
成功的数据备份,生成备份文件;
>