由于一些奇怪的原因,当我尝试加载数据库时,没有返回结果。
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