由於一些奇怪的原因,當我嘗試加載數據庫時,沒有返回結果。
class Customer_model extends CI_Model {
public function fetch_email_list() {
$DB1 = $this->load->database('orders', TRUE);
if ($this->load->database('orders') === FALSE){
echo 'no database';
}
$results = $DB1->query("SELECT * FROM email_list");
return $results->result_array();
}
}
我檢查我的數據庫配置
$db['orders']['hostname'] = 'localhost';
$db['orders']['username'] = 'db_user';
$db['orders']['password'] = 'password';
$db['orders']['database'] = 'db_name';
$db['orders']['dbdriver'] = 'mysql';
$db['orders']['dbprefix'] = '';
$db['orders']['pconnect'] = FALSE;
$db['orders']['db_debug'] = TRUE;
$db['orders']['cache_on'] = FALSE;
$db['orders']['cachedir'] = '';
$db['orders']['char_set'] = 'utf8';
$db['orders']['dbcollat'] = 'utf8_general_ci';
$db['orders']['swap_pre'] = '';
$db['orders']['autoinit'] = TRUE;
$db['orders']['stricton'] = FALSE;
我該怎麼解決?
你並不需要一個if語句,你已經裝載在''$ DB1''變量的數據庫,並且沒有設置爲TRUE的第二個參數它贏得」返回一個數據庫對象(你實質上是將相同的數據庫加載了兩次,第一次將其設置爲一個自定義變量,第二次將數據庫對象分配爲默認數據庫,例如:「' $ this-> db'') – ahmad
好的,我已經刪除了if語句。我在這個模型類中有兩個函數,一個可以訪問數據庫,一個不能。任何想法爲什麼? – user892134
您正在將數據庫加載到本地變量中,如果要將其加載到此模型中的所有方法中,請定義一個受保護的變量並在各個方法中使用它;我在我的答案中添加了一個示例...查看它。 – ahmad