2013-07-16 60 views
0

database.php中的文件我有我的控制器中的脚本如下:配置配置/使用PHP脚本

if($this->db->query("CREATE DATABASE IF NOT EXISTS db_ecommerce")) 
     { 
       $sql=file_get_contents('./databse_backup/backup.sql'); 
       foreach (explode(";\n", $sql) as $sql) 
       { 
        $sql = trim($sql); 
        //echo $sql.'<br/>============<br/>'; 
         if($sql) 
        { 
         $this->db->query($sql); 
        } 
       } 
     } 

它创建了一个数据库,然后运行一个备份SQL文件。

我的问题是我们需要事先配置config/database.php文件。

首先,我想让这个脚本运行,之后应该更改database.php文件。

$db['default']['hostname'] = 'localhost'; 
$db['default']['username'] = 'username'; 
$db['default']['password'] = 'password'; 
$db['default']['database'] = 'db_name'; 

自现在对于本地主机,因此,

$db['default']['hostname'] = 'localhost'; 
$db['default']['username'] = 'root'; 
$db['default']['password'] = ''; 
$db['default']['database'] = 'db_name'; 
+0

所以你导入数据库后,要更新你的'''database.php'''文件以符合您的本地主机? – bottleboot

回答

2

的方法是有“模板文件”像你的安装文件夹: 前。 database.php中

$active_group = 'default'; 
$active_record = TRUE; 

$db['default']['hostname'] = '<?php echo $hostname;?>'; 
$db['default']['username'] = '<?php echo $username;?>'; 
$db['default']['password'] = '<?php echo $password;?>'; 
$db['default']['database'] = '<?php echo $database;?>'; 
$db['default']['dbdriver'] = 'mysql'; 
$db['default']['dbprefix'] = '<?php echo $prefix;?>'; 
$db['default']['pconnect'] = TRUE; 
$db['default']['db_debug'] = TRUE; 
$db['default']['cache_on'] = FALSE; 
$db['default']['cachedir'] = ''; 
$db['default']['char_set'] = 'utf8'; 
$db['default']['dbcollat'] = 'utf8_general_ci'; 
$db['default']['swap_pre'] = ''; 
$db['default']['autoinit'] = TRUE; 
$db['default']['stricton'] = FALSE; 

,然后你可以得到数据库连接(例如从一种形式)的值,并在你的笨应用程序写入新文件(的application/config/database.php中)

前。

$settings['hostname'] = $this->input->post('hostname'); 
$settings['username'] = $this->input->post('username'); 
$settings['password'] = $this->input->post('password'); 
$settings['database'] = $this->input->post('database'); 
$settings['prefix']  = $this->input->post('prefix');  

$file_contents  = $this->load->view('templates/database', $settings, true); 


write_file($_SERVER['DOCUMENT_ROOT'].'application/config/database.php', $file_contents);