打印本文 打印本文 关闭窗口 关闭窗口
备份数据库(Mysql)的简易程序
作者:武汉SEO闵涛  文章来源:敏韬网  点击数1881  更新时间:2009/4/22 20:56:43  文章录入:mintao  责任编辑:mintao
name."'''');</script>";
  
 }elseif($gz==1){
  $filename = $database.".zip";
  $fp = gzopen($filename, "w9");
  gzwrite($fp,$table_code);
  gzclose($fp);
  
  //header("location:",$filename);
  
  echo "<script>location.replace(''''".$filename."'''');</script>";
  
  
 }//end if
 
}else{
 echo "连接错误!!!";
 exit();
}//end if
//*****************************************************************
//函数名:get_table_list
//功能:返回指定数据库中的所有表名
//参数:$link 是数据库连接
//  $database 数据库名
//时间:2004年3月23日
//作者:野马
//QQ:46163020
//Email:woaini4651@yahoo.com.cn
//*****************************************************************
function get_table_list($link,$database)
{
 $result = @mysql_list_tables($database);
 if(!$result)
 {//判断打开是否出错
  return false;
 }//end if
    while($row = mysql_fetch_row($result))
 {
        $table_name[] = $row[0];
    }//end while
 mysql_free_result($result);
 return $table_name;
}//end function
//*****************************************************************
//函数名:get_table_code
//功能:返回指定数据库中表的结构,用于创建指定表的SQL语句
//参数:$link 是数据库连接
//  $database 数据库名
//  $table_name表名
//时间:2004年3月23日
//作者:野马
//QQ:46163020
//Email:woaini4651@yahoo.com.cn
//*****************************************************************
function get_table_code($link,$database,$table_name)
{
 mysql_select_db($database, $link);
 $result = mysql_query("select * from ".$table_name, $link);
 $return_str = "CREATE TABLE `".$table_name."` (\n\t";
 $fields_num = (int)mysql_num_fields($result);
 
 $fun_my[''''string''''] = "varchar";
 $fun_my[''''datetime''''] = "datetime";
 $fun_my[''''blob''''] = "text";
 $fun_my[''''real''''] = "float";
 echo "<br>";
    for($i=0; $i < $fields_num; $i++)
 {
  $return_str .= "`".mysql_field_name($result, $i)."` ";
  
  $type = mysql_field_type($result, $i);
  if(isset($fun_my[$type]))
  {    //解析数据类型
   if($fun_my[$type]=="datetime" || $fun_my[$type]=="text")
   {
    $return_str .= $fun_my[$type]." ";
   }else{
    $return_str .= $fun_my[$type]."(".mysql_field_len($result, $i).") ";
   }//end if
  }else{
   $return_str .= $type."(".mysql_field_len($result, $i).") ";
  }//end if
  
  if($i==0)
  {   //
   $return_str .= "NOT NULL auto_increment ";
  }else{
   $return_str .= mysql_field_flags($result, $i)=="not_null"?"NOT NULL ":"default NULL ";
  }//end if
        $return_str .= ",\n\t";
  
    }//end for
 $return_str .= "PRIMARY KEY (`id`)\n)TYPE=MyISAM AUTO_INCREMENT=30;\n\n";
 return $return_str;
}//end function
//*****************************************************************
//函数名:get_table_data
//功能:返回指定数据库指定表的所有数据的,插入SQL语句
//参数:$link 是数据库连接
//  $database 数据库名
//  $table_name表名
//时间:2004年3月23日
//作者:野马
//QQ:46163020
//Email:woaini4651@yahoo.com.cn
//*****************************************************************
function get_table_data($link,$database,$table_name)
{
 mysql_select_db($database, $link);
 $result = mysql_query("select * from ".$table_name, $link);
 $fields_num = (int)mysql_num_fields($result);
 while($row = mysql_fetch_row($result))
 {
  $row_data = "INSERT INTO `".$table_name."` VALUES (''''";
  for($i=0;$i<$fields_num;$i++)
  {
   $row_data_arr[$i]=addslashes($row[$i]);
  }//end if
  //print_r($row_data_arr);
  $row_data .= implode("'''',''''",$row_data_arr);
  $row_data .= "'''');\n";
  $table_data .= $row_data;
 }//end while
 $table_data .= "\n\n";
 return $table_data;
}//end function
?>

上一页  [1] [2] 

打印本文 打印本文 关闭窗口 关闭窗口