2013-07-16 92 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);