Im trying to intergrate phpbb3 with code igniter. im pretty successful but im tryying to access the forum database and it not working. This is currently what I have in my database file.
/** 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;
And here is a method that is trying to access the database. It keeps returning 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;
}
The database object is loaded in the $forum
variable, but the $this->forum
variable is used to interact with the database. It's not going to work as $forum
is a local variable and $this->forum
is an class variable, they aren't the same. To fix your code, you should change $forum
to $this->forum
or $this->forum
to $forum
. You can not use both at the same time.