Import SQL dump to MySQL using Codeigniter

Taking backup dump and importing the dump into database can be done very easily using php. In Last posts i explained how to take the backup of Mysql using php http://asvignesh.in/take-mysql-backup-using-php-passthru-functionhttp://asvignesh.in/take-mysql-backup-using-php

Here is the function to import the sql dump into database

function import_dump($folder_name = null , $file_name) {
$folder_name = 'dumps';
$path = 'assets/backup_db/'; // Codeigniter application /assets
$file_restore = $this->load->file($path . $folder_name . '/' . $file_name, true);
$file_array = explode(';', $file_restore);
foreach ($file_array as $query)
 {
 $this->db->query("SET FOREIGN_KEY_CHECKS = 0");
 $this->db->query($query);
 $this->db->query("SET FOREIGN_KEY_CHECKS = 1");
 }
}
Default image
Vignesh A Sathiyanantham
AWS Certified developer with 8 years of extensive experience working for Cloud and Datacenter solutions and leading a small team in a lean startup based on Bangalore, India

2 Comments

  1. I have some case where the query in mysql dump is something like this:

    INSERT INTO table_name (`field1` , `field2`) values (‘some data’ , ‘some ; data ;’)

    inside the data type varchar or text they have some value with semicolon (;)
    and when we run this code explode(‘;’, $file_restore);
    it got separated into array, how can we prevent this?

  2. But it’s replacing database…
    Is there any way to append data?

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.