用PHP实现XML备份Mysql数据库

王朝mysql·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

以下是在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文档恢复到数据库中,这里就不详细描述了。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航