Php 连接到第二个数据库在CodeIgniter中不工作
我正在尝试将phpbb3与代码点火器集成。我很成功,但我试图访问论坛数据库,但它不工作。这是当前我在数据库文件中的内容Php 连接到第二个数据库在CodeIgniter中不工作,php,database,codeigniter,phpbb,phpbb3,Php,Database,Codeigniter,Phpbb,Phpbb3,我正在尝试将phpbb3与代码点火器集成。我很成功,但我试图访问论坛数据库,但它不工作。这是当前我在数据库文件中的内容 /** FORUM DATABASE **/ $active_group = 'forum'; $active_record = TRUE; $db['forum']['hostname'] = 'localhost'; $db['forum']['username'] = 'root'; $db['forum']['password'] = 'root'; $db['fo
/** FORUM DATABASE **/
$active_group = 'forum';
$active_record = TRUE;
$db['forum']['hostname'] = 'localhost';
$db['forum']['username'] = 'root';
$db['forum']['password'] = 'root';
$db['forum']['database'] = 'phpbb';
$db['forum']['dbdriver'] = 'mysqli';
$db['forum']['dbprefix'] = 'phpbb';
$db['forum']['pconnect'] = FALSE;
$db['forum']['db_debug'] = TRUE;
$db['forum']['cache_on'] = FALSE;
$db['forum']['cachedir'] = '';
$db['forum']['char_set'] = 'utf8';
$db['forum']['dbcollat'] = 'utf8_general_ci';
$db['forum']['swap_pre'] = '';
$db['forum']['autoinit'] = TRUE;
$db['forum']['stricton'] = TRUE;
/** CMS DATABASE **/
$active_group = 'default';
$active_record = TRUE;
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = 'root';
$db['default']['database'] = 'cms';
$db['default']['dbdriver'] = 'mysql';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = FALSE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = TRUE;
这是一个试图访问数据库的方法。它一直返回null
public function getUserGroupMembership()
{
$forum = $this->load->database('forum',TRUE);
global $table_prefix;
$userId = $this->_user->data['user_id'];
$this->forum->select('g.group_name');
$this->forum->from($table_prefix . 'groups g');
$this->forum->from($table_prefix . 'user_group u');
$this->forum->where('u.user_id', $userId);
$this->forum->where('u.group_id', 'g.group_id', FALSE);
$query = $this->forum->get();
foreach ($query->result_array() as $group)
{
$groups[] = $group['group_name'];
}
return $groups;
}
我相信您不需要为这两个数据库重新声明$active_group和$active_record 如果删除: $active_group='论坛'
$active_record=TRUE 这可能有用。你也应该按照Maxime所说的做,用$this->forum更改$forum
希望这有帮助 数据库对象加载在
$forum
变量中,但$this->forum
变量用于与数据库交互。它不会工作,因为$forum
是一个局部变量,$this->forum
是一个类变量,它们是不同的。要修复代码,您应该将$forum
更改为$this->forum
,或将$this->forum
更改为$forum
。不能同时使用两者 您是否尝试在方法的第一行将$forum
替换为$this->forum
$forum
和$this->forum
不是一回事。如果这是一个答案,我可以打勾。我已经在答案中添加了更多的内容。:)