Я экспортировал базу данных и сохранил файл в папке. Теперь я хочу импортировать тот же файл в базу данных MySQL, используя codeigniter, мой метод экспорта работает правильно, но теперь я хочу импортировать тот же файл.
function getFeeRelatedTableBackups()
{
$this->load->dbutil();
$this->load->helper('url');
$this->load->helper('file');
$this->load->helper('download');
$this->load->library('zip');
$prefs = array(
'tables' => array('table1', 'table2', 'table3'), // Array of tables to backup.
'ignore' => array(), // List of tables to omit from the backup
'format' => 'sql', // gzip, zip, txt
'filename' => 'mybackup.sql', // File name - NEEDED ONLY WITH ZIP FILES
'add_drop' => TRUE, // Whether to add DROP TABLE statements to backup file
'add_insert' => TRUE, // Whether to add INSERT data to backup file
'newline' => "\n" // Newline character used in backup file
);
$backup=& $this->dbutil->backup($prefs);
$dbname='backup-on-'.date('Y-m-d-h:i:s').'.sql';
$save=UPLOAD_PATH_FEE_MANAGEMENT_TABLES.$dbname;
write_file($save,$backup);
force_download($dbname,$backup);
}
пробовал эти два способа восстановления, но оба метода не работают
function restoredb()
{
$isi_file = file_get_contents(UPLOAD_PATH_FEE_MANAGEMENT_TABLES.'backup-on-2018-02-12-07:57:37.sql');
$string_query = rtrim( $isi_file, "\n;" );
$array_query = explode(";", $query);
foreach($array_query as $query)
{
$this->db->query($query);
}
}
public function import_database()
{
$temp_line = '';
$lines = file(UPLOAD_PATH_FEE_MANAGEMENT_TABLES.'backup-on-2018-02-12-07:57:37.sql');
foreach ($lines as $line)
{
if (substr($line, 0, 2) == '--' || $line == '')
continue;
$temp_line .= $line;
if (substr(trim($line), -1, 1) == ';')
{
$this->db->query($temp_line);
$temp_line = '';
}
}
}