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