首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过zip文件导入数据库

问通过zip文件导入数据库
EN

Stack Overflow用户
提问于 2017-04-25 05:34:29
回答 2查看 1.2K关注 0票数 0

这是我的数据库压缩文件的功能,它工作得很好,但是我想把它插入到数据库中,并通过动态选择sql文件将它导入数据库

代码语言:javascript
复制
public function db_backup(){
    date_default_timezone_set('Asia/Calcutta');
    $this->load->dbutil(); 
    $prefs = array( 
        'format' => 'zip',  
        'add_drop' => TRUE,  
        'add_insert'=> TRUE, 
        'newline' => "\n"   
    ); 
    $backup =  $this->dbutil->backup($prefs); 
    $this->load->helper('file'); 
    $this->load->helper('download'); 
    $this->zip->archive(FCPATH.'backup/database/'.date('Y-m-d-His').'DbBackup.zip');
}

please provide me solution i tried vaious examples nothing works

public function restoredb($id = ''){


    $isi_file = file_get_contents('./backups/XXXXXXX.sql'); #here I want to give dynamic path
    $query = rtrim( $isi_file, "\n;" );
    $array_query = explode(";", $query);

    foreach($array_query as $query){
        $this->db->query($query);
    }

}

上面的函数还原数据库,但没有按我的要求工作。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-04-28 04:58:27

代码语言:javascript
复制
$backup = read_file('path/to/file.sql');
$sql_clean = '';
    foreach (explode("\n", $backup) as $line){
        if(isset($line[0]) && $line[0] != "#"){
            $sql_clean .= $line."\n";
        }
    }
    foreach (explode(";\n", $sql_clean) as $sql){
        $sql = trim($sql);
        if($sql){
            $this->db->query($sql);
        } 
    }

试试这个,我希望它能帮上忙

票数 0
EN

Stack Overflow用户

发布于 2017-04-25 05:48:00

导出和导入数据时尝试这样做

导出

代码语言:javascript
复制
$cmd = "mysqldump -u $DBUSER --password=$DBPASSWD -h$HOST $DATABASE > backup.sql";   
        shell_exec( $cmd );

导入/恢复

代码语言:javascript
复制
$cmd = "mysql -u $DBUSER --password=$DBPASSWD -h$HOST -D$database < backup.sql";   
        shell_exec( $cmd );
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43602403

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档