龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

数据库的导出,备份

时间:2014-07-22 14:49来源: 作者: 点击:
分享到:
数据库的导出,备份
数据库的导出,备份
	/*
		数据库的导出
	*/
	set_time_limit(0);//限制最大执行时间
	$DBNAME = 'bwshop';
	$dir = 'G:/web/apache/htdocs/shixunone/input/';//文件的地址
	//连接数据库
	mysql_connect('127.0.0.1','root','root') or die("数据库链接失败,错误:" . mysql_error());
	//连接表
	mysql_select_db($DBNAME) or die("表链接失败,错误:" . mysql_error());
	$result = mysql_query("show tables");
	if(!is_dir($dir)){
	    die('文件夹不存在');
	}
	$fileName=$dir.$DBNAME.".sql";
	//判断给定的文件名是否可写
	if (is_writable($dir)) {
		//检查文件或目录是否存在
	    if(file_exists($fileName)){
			//删除文件
	        unlink($fileName);
	    }
	$querySql = '';
	//循环数据库内容
	while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
		$querySql .= "DROP TABLE IF EXISTS `".$row[0]."`;\n";
		$show = mysql_query('show create table '.$row[0]);
		$create = mysql_fetch_row($show);//从结果集中取得一行作为枚举数组
		$querySql .= $create[1].";\n\n";
		$sql = mysql_query('select * from '.$row[0]);
		while($val = mysql_fetch_array($sql)){
			$querySql .= 'insert into `'.$row[0].'` values(';
			$listval = mysql_num_fields($sql);//取得结果集中字段的数目
				$vallist = '';
				for($i=0; $i<$listval; $i++){
					$vallist .= "'".mysql_escape_string($val[$i])."',";
				}
				$querySql .= rtrim($vallist,',');
				$querySql .= ");\n";
		}
	}
		//print_r($querySql);die;
		$fp=fopen($fileName,"w");//得到指针
		fwrite($fp,$querySql);//写
		fclose($fp);//关闭
		echo "任务完成";
	}else{
		echo '文件夹 '.$dir.' 不可写';
	}
//释放结果内存
mysql_free_result($result);
//关闭数据库
mysql_close();
精彩图集

赞助商链接