php – 连接到第二个不在CodeIgniter中工作的数据库

我试图用代码点火器集成phpbb3.我非常成功但我试图访问论坛数据库,它无法正常工作.这是我目前在数据库文件中的内容.

/** 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;
}

解决方法

数据库对象加载在$forum变量中,但$this->论坛变量用于与数据库交互.它不会起作用,因为$forum是一个局部变量而$this->论坛是一个类变量,它们不一样.要修复您的代码,您应该将$forum更改为$this->论坛或$this->论坛更改为$forum.你不能同时使用它们.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...