2017-09-15 44 views
0

嗨我想從mysql數據庫定義常量,但無法在codeigniter配置文件中加載數據庫。在PHP Codeigniter配置文件中定義來自mysql數據庫的常量

$db =$CI->load->database(); 
$query = $db->get('constants'); 
foreach($query->result() as $row){ define($row->title, $row->value); } 

但它扔我一個錯誤「未定義變量:CI」

+0

我不這麼認爲我們可以做DB操作在配置文件? – Naga

回答

1

在配置/ config.php文件粘貼此代碼的底部。

require_once(BASEPATH .'database/DB.php'); 
$db =& DB(); 

$query = $db->get('constants'); 

$result = $query->result(); 

foreach($result as $row) 
{ 
    $config[$row->title] = $row->value; 
} 

在控制器測試

echo $this->config->item('something'); 

如果幫助&作品沒有爲獲得接受的答案

+0

工作感謝! –

+0

我提出了一個有創意的答案,但這顯然是我懷疑是應用程序架構破壞的繃帶。你必須誠實,這是Kludge寫的。儘管CodeIgniter提供了各種方法來正確處理這些事情,但是... –

0

要使用的配置文件中的CI超級對象,則必須使用:

$CI =& get_instance(); 
+0

不工作,拋出錯誤致命錯誤:未捕獲錯誤:在C:\ xampp \ htdocs \ xampp \ CodeIgniter \ system中找不到類'CI_Controller' \ core \ CodeIgniter.php –

+0

這是獲取配置文件或庫中CI超級對象的唯一方法。你用'$ this-> config-> load()'加載配置文件嗎? –

相關問題