ff是配置文件上的数据库设置
$active_group = 'default';
$active_record = TRUE;
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = '#########';
$db['default']['database'] = 'fault_analytics';
$db['default']['dbdriver'] = 'mysql';
...
$db['SiteDB']['hostname'] = 'localhost';
$db['SiteDB']['username'] = 'root';
$db['SiteDB']['password'] = '#########';
$db['SiteDB']['database'] = 'smartSiteDB';
$db['SiteDB']['dbdriver'] = 'mysql';
...
我的自定义jcm\u acl.php构造方法:
function __construct() {
$this->ci =& get_instance();
$this->ci->load->helper('url');
$this->ci->load->library('session');
$this->ci->load->helper('string');
$this->ci->load->config('jcm_acl');
$this->ci->load->model('jcm_acl_model', 'acl');
$this->tables = $this->ci->config->item('tables');
$this->default_error_page = $this->ci->config->item('default_error_page');
$this->use_default_error_page = $this->ci->config->item('use_default_error_page');
}
我运行了一些调试查询来检查 get_instance()
在我的自定义库上 __construct()
方法。ff是我的调试查询:
vdebug($this->jcm_acl->ci->db->database);
vdebug($this->jcm_acl->ci->db->list_tables());
vdebug($this->jcm_acl->ci->db->get('users'));
die();
以下是调试查询的结果:
请注意 get()
方法,它与第一个调试查询显示的数据库名称不同。这是怎么发生的。
只有当我访问同时加载第二个数据库的页面时,才会发生这种情况。在我没有加载第二个数据库的其他页面上,它工作得非常好。
暂无答案!
目前还没有任何答案,快来回答吧!