嗨我想從mysql數據庫定義常量,但無法在codeigniter配置文件中加載數據庫。在PHP Codeigniter配置文件中定義來自mysql數據庫的常量
$db =$CI->load->database();
$query = $db->get('constants');
foreach($query->result() as $row){ define($row->title, $row->value); }
但它扔我一個錯誤「未定義變量:CI」
嗨我想從mysql數據庫定義常量,但無法在codeigniter配置文件中加載數據庫。在PHP Codeigniter配置文件中定義來自mysql數據庫的常量
$db =$CI->load->database();
$query = $db->get('constants');
foreach($query->result() as $row){ define($row->title, $row->value); }
但它扔我一個錯誤「未定義變量:CI」
在配置/ 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');
如果幫助&作品沒有爲獲得接受的答案
工作感謝! –
我提出了一個有創意的答案,但這顯然是我懷疑是應用程序架構破壞的繃帶。你必須誠實,這是Kludge寫的。儘管CodeIgniter提供了各種方法來正確處理這些事情,但是... –
要使用的配置文件中的CI超級對象,則必須使用:
$CI =& get_instance();
不工作,拋出錯誤致命錯誤:未捕獲錯誤:在C:\ xampp \ htdocs \ xampp \ CodeIgniter \ system中找不到類'CI_Controller' \ core \ CodeIgniter.php –
這是獲取配置文件或庫中CI超級對象的唯一方法。你用'$ this-> config-> load()'加載配置文件嗎? –
我不這麼認爲我們可以做DB操作在配置文件? – Naga