php - 我如何在 codeigniter 中运行 mysql 转储文件

标签 php mysql codeigniter

$folder=FCPATH."application\\models\\new.sql";
$filez=fopen($folder,'w');
$r2=str_replace("cms_project_db","new_cms",$filez);

$new=fwrite($filez,$r2);

$content=file_get_contents($new);
$arr=explode(";",$content);
foreach($arr as $value=>$val)
{
    $this->db->query($val);
}       

我想从 SQL 转储文件中获取所有内容并更改数据库名称,然后执行所有查询,但出现此错误:

A Database Error Occurred

最佳答案

您可以使用以下脚本,希望它能帮助您:

$this->load->dbutil();

        $prefs = array(     
                'format'      => 'zip',             
                'filename'    => 'my_backup.sql'
              );


        $backup =& $this->dbutil->backup($prefs); 

        $db_name = 'backup-'. date("Y-m-d-H-i-s") .'.zip';
        $save = 'path_to_file/'.$db_name;

        $this->load->helper('file');
        write_file($save, $backup); 


        $this->load->helper('download');
        force_download($db_name, $backup); 

关于php - 我如何在 codeigniter 中运行 mysql 转储文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20819623/

相关文章:

mysql - Symfony 中带有 ORDER BY 匹配条件的自定义 SQL 查询

mysql - SELECT 后的保留关键字

php - fatal error : Call to undefined function base_url()

php - 制作第一个登录系统。选择 SQL 列不起作用?

php - 无法设置 PHP $_SESSION 变量

php - 多次刷新后 CSS 损坏

web-services - Codeigniter 网络服务

php - 设置从 EBS 共享加载文件的超时

mysql - 从一张表中选择数据。然后使用该数据从另一个表获取信息

mysql - Codeigniter 404 页面未找到