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

php 数据库的导出,备份

时间:2014-10-10 02:20来源:网络整理 作者:网络 点击:
分享到:
数据库的导出,备份 [代码片段(54行)]
/*
        数据库的导出
    */
    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();
//该片段来自于http://outofmemory.cn
精彩图集

赞助商链接