1.初始化数据库的时候,如何把现有的.sql文件通过PHP 导入到MYSQL中?最好有这方面的代码,或者类。
2.PHP如何将excel 文件内容导入到Mysql相应的数据库中?
3.PHP如何对MYSQL数据库进行备份,生成.SQL文件放到制定的位置?
问题有点多,本人新手,实在不好意思。 
谢谢各位大哥帮忙~分不多,还有很多问题,这次给50分吧。

解决方案 »

  1.   

    1、把现有的SQL文件导入数据库中,我写一段函数:
    <?php
    $conn=mysql_connect("localhost","root","password");//指定数据库连接参数
    function mysql_import($file,$database)//导入的函数,参数为SQL文件路径和导入的库名。
    {
    mysql_select_db($database);
    mysql_query("source '".$file."';");
    echo "导入".$file."文件到".$database."数据库完毕";
    }
    mysql_close($conn);
    ?>
      

  2.   


    第二个没有做过,关注此问题。
    第三个问题:
    最简单的,可以执行mysqldump命令。
    <?php
    $mysqldump="";//MySQL目录bin目录下的mysqldump.exe的文件路径(最好是绝对路径),如果用的是linux,差不多也是这样
    $database="";//备份的数据库名称
    $user="";//数据库连接用户名
    $password="";//数据库密码
    $outputfile="";//导出的备份的SQL文件路径
    system($mysqldump." -u".$user." -p".$password." ".$database." > ".$outputfile."");
    ?>
      

  3.   

    你的这些问题用mysql的客户端软件都可以实现,使用mysql cc 或者mysql front都可以实现你的要求,使用程序的话会非常麻烦
      

  4.   

    执行不就可以了或者google php mysql classadobd lite
      

  5.   

    对于1,3可以用mysql自带的命令行完成导入导出的工作.假定mysql 用户名和密码为 root xxx,数据库为test
    导入sql
    mysql -hlocalhost -uroot -pxxx test < xxx.sql
    导出sql
    mysqldump -hlocalhost -uroot -pxxx database > xxx.sql对于excel,标准的数据可以转成cvs格式的数据,然后再用phpmyadmin这样的工具导入
      

  6.   

    两种方法:
    1.直接执行Mysql命令,让Mysql读取相应文件
    2.用PHP读取文件,然后执行文件内容。
      

  7.   

    1,3很简单2. 
    基本上在中文环境没有什么完美的解决方案
    可以用DOM写个小程序做转换
      

  8.   

    第二个问题,可以写一个csv文件导入就可以了
    就可以把数据导入mysql数据库了
      

  9.   

    excel 出来那种 csv ... =_=||
    数据简单还能用一下
      

  10.   

    支持下1。2楼的
    2问题可以考虑mysql odbc 
      

  11.   

    第二个问题是这样的,要批量导入数据库一些文件,之前ASP做的时候是通过asp把.xls文件读出来,写进数据库。现在换成PHP,加上自己完全是个新手,想要做的是,把整理好的.xls文件通过PHP直接导入mysql,是不是这样不行的呀。那有啥好方法能实现批量导入呢?比如要导入一个学校所有学生的姓名学号之类的。
      

  12.   

    gingzai777 高手的方法正在试,是不是source 后面的地址必须是绝对地址呢?
      

  13.   


    没成功,不知道错在什么地方。因为我太菜了。我把代码贴出来。大家看看帮帮忙哈。
    +------------------------以下是我写的代码--------------------------------------------------------------------------+
    function init_db(){
    $file="../install/import.sql";
    $conn=mysql_connect($this->dbhost,$this->dbuser,$this->dbpw) or die("数据库连接错误");
    if(!$conn){
    echo "数据库连接错误";
    }
        $db=mysql_select_db($this->dbname);
        if($db){
    mysql_query("DROP DATABASE `".$this->dbname."`");
        }
        mysql_query("setnames 'GBK'");
    $creatdb=mysql_query("CREATE DATABASE `".$this->dbname."` DEFAULT CHARACTER SET gb2312 COLLATE gb2312_bin");//建立数据库
    $mysql=mysql_select_db($this->dbname);
    // if($mysql){
    // echo "连接";
    // }else{
    // echo "未连接";
    // }
    // echo $file;
    // $file="source '".$file."'";
    // echo $file;
    mysql_query("source '".$file."'");//初始化数据库
    mysql_close($conn); }
      

  14.   

    感谢大家,经过两天研究,才把第一个问题弄明白。这里严重感谢gingzai777 的指导!
    最后我自己写了一个方法实现了,可能比较笨,大家要是有更好的希望也发出来。我的代码如下:(本身是一个类,我只截取了初始化数据库这个方法。)
    +--------------------------------------------------------------------以下是代码-------------+class install{
    private $dbhost;
    private $dbname;
    private $dbpw;
    private $dbuser;
    //初始化类
    function __construct($dbhost='',$dbname='',$dbpw='',$dbuser=''){
    $this->dbhost=$dbhost;
    $this->dbname=$dbname;
    $this->dbpw=$dbpw;
    $this->dbuser=$dbuser;
    } //初始化数据库
    function init_db(){
    $file="../install/import.sql";
    $conn=mysql_connect($this->dbhost,$this->dbuser,$this->dbpw) or die("数据库连接错误");
        $db=mysql_select_db($this->dbname);
        if($db){
    mysql_query("DROP DATABASE `".$this->dbname."`");
        }
        mysql_query("setnames 'GBK'");
    $creatdb=mysql_query("CREATE DATABASE `".$this->dbname."` DEFAULT CHARACTER SET gb2312 COLLATE gb2312_bin");//建立数据库
    $mysql=mysql_select_db($this->dbname);
    $content=file($file); //转换为数组
    foreach($content as $key=>$val){     //遍历,删除注释
    $flag=substr($val,0,2);  //去前两位字符
    if($flag=="--"){                 //判断是否为注释
    $content[$key]="";           //删除
    }
    }
    $content=implode("",$content);         //转换为字符串
    $content=trim($content);
    $content=explode(";\n",$content);      //转换为数组
    foreach($content as $key=>$val){     //遍历执行
    mysql_query($val);
    }
    }}
      

  15.   

    如过.sql文件还包含存储过程、函数等呢?
      

  16.   

    第二个问题:可以用PHPExecel插件读出excel中的数据,然后再插入数据库。PHPExcel的使用方法请上网找找
      

  17.   

    建议楼主安装phpmyadmin啊自己写的话无论如何都没别人写的好,不是吗?
      

  18.   

    终于找到了,感谢~!
    有时候需要在自己的系统里放个便捷的数据库安装程序,每次都要上传phpmyadmin其实挺麻烦的不是吗