+ -
当前位置:首页 → 问答吧 → 抛砖引玉:简单的备份数据库

抛砖引玉:简单的备份数据库

时间:2008-10-15

来源:互联网

备份数据库有什么好处呢?第一我们可以根据备份出来的文件制作安装程序,第二当然是备份咯,看了别人写的类,虽然很实用,但是终究不是自己的思想,所以在参考别人的基础上,写出自己的方法,期望达到抛砖引玉的效果:
[php]
<?php
include_once("config.php");
$conn=mysql_connect(HOST,USER,PWD);
mysql_select_db(DB);
mysql_query("set names gb2312");//注意编码
//显示所有的表:
$res=mysql_list_tables(DB);
while ($row = mysql_fetch_row($res))
{
       $table[]=$row[0];//得到数据库中所有的表
}
foreach ($table as $v)
{
//导出表的结构
$sql.="DROP TABLE IF EXISTS `$v`;\n";
$create=mysql_query("show create table $v");
$rs=mysql_fetch_row($create);
$sql.=$rs[1].";\n\n";
}
//导出所有数据
foreach ($table as $v)
{
$res=mysql_query("select * from $v");
$fild=mysql_num_fields($res);//获取表的列数
while ($rs=mysql_fetch_array($res))
{
  $comma="";//设置逗号,自己想吧,为什么如此设置
  $sql.="insert into $v values(";
  for($i=0;$i<$fild;$i++)
  {
   $sql.=$comma."'".mysql_escape_string($rs[$i])."'";//mysql_escape_string转义一些特殊字符
   $comma = ",";
  }
  $sql.=");\n";
}
$sql.="\n";
}
echo $sql;
?>
[/php]

这样下来,一个数据库中所有的表和数据全部备份了,剩下的只要将最后的结果输出到文件即可

看了许多别人的程序之后,原来发现自己也可以写出好的代码。

作者: dongxin1390008   发布时间: 2008-10-15

不错,不错

作者: langwang0070   发布时间: 2008-10-15