当前位置:Linux教程 - Mysql - 用php实现xml备份mysql数据库

用php实现xml备份mysql数据库

颓废者学堂 -> 案例分析

用PHP实现XML备份Mysql数据库

作者:http://www.webrj.com  时间:2004-04-11 23:34:50  来自:http://www.webrj.com  责任编辑:clinch







以下是在Linux下通过Apache+PHP对Mysql数据库的备份的文件代码:

文件一、Listtable.php (文件列出数据库中的所有表格,供选择备份)

<html>
<head>
<title>
使用XML备份Mysql数据库</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body bgcolor="#FFFFFF" text="#000000">
请选择要备份的表格:
<?
$con
=mysql_connect('localhost','root','xswlily');
$lists=mysql_list_tables("embed",$con);
//数据库连接代码
$i=0;
while(
$i<mysql_num_rows($lists)){
$tb_name=mysql_tablename($lists,$i);
echo
"<a href=backup.php?table=".$tb_name.">".$tb_name."</a>
"
;
//列出所有的表格
$i++;}

?>
</body>
</html>


文件二、Backup.php

<?if ($table=="") header("Location:listtable.php");?><html>
<head>
<title>
使用XML备份Mysql数据库</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<?
$con
=mysql_connect('localhost','root','xswlily');
$query="select * from $table ";
//数据库查询
$result=mysql_db_query("embed",$query,$con);
$filestr="<"."?xml version="1.0" encoding="GB2312"?".">";
$filestr.="<".$table."s>";
while (
$row=mysql_fetch_array($result))
//列出所有的记录
{$filestr.="<".$table.">";
$fields=mysql_list_fields("embed",$table,$con);
$j=0;
//$num_fields=mysql_field_name($fields,$j);
//echo $num_fields;
while ($j<mysql_num_fields($fields)){
$num_fields=mysql_field_name($fields,$j);
$filestr.="<".$num_fields.">";
$filestr.=$row[$j];
$filestr.="</".$num_fields.">";
$j++;}
$filestr.="</".$table.">";
}
$filestr.="</".$table."s>";
echo
$filestr;
//以下是文件操作代码
$filename=$table.".xml";
$fp=fopen("$filename","w");
fwrite($fp,$filestr);
fclose($fp);
Echo
"数据表".$table."已经备份成功!";?>
</body>
</html>

通过以上文件的操作就可以实现对数据库中选定的表格进行备份.

以上主要介绍了通过PHP实现XML备份数据库的操作方法,其实并不复杂,通过XML,我们可以备份各种各样的数据库,当然也可以通过相关的方法将备份的XML文档恢复到数据库中,这里就不详细描述了。