Codeigniter Несколько подключений к базе данных - PullRequest
3 голосов
/ 20 октября 2011

Я углубляюсь в использование нескольких баз данных. Согласно руководству пользователя codeigniter. Для подключения к дополнительным базам данных используйте следующую команду

$db2 = $this->load->database('second');

тогда для взаимодействия используйте,

$db2->get('second_table');

Я получаю фатальную ошибку вызова функции-члена where () для необъекта.

для следующей строки

$db2->where('field1', $data['item']);

, а также для

$db2->get('second_table');

Куда я пойду не так?

Спасибо за любую помощь.

Ответы [ 2 ]

9 голосов
/ 20 октября 2011

Чтобы вернуть объект базы данных, вам нужно передать TRUE в качестве второго параметра:

$db2 = $this->load->database('second', TRUE);

См. руководство для класса базы данных для получения дополнительной информации.

Убедитесь, что вы загрузили конфигурацию для этой базы данных в application / config / database.php

$db['default']['hostname'] = 'localhost';
//.........

$db['second']['hostname'] = 'localhost';
//..........
0 голосов
/ 07 августа 2014

В config / database.php

/

* DB1 */
$active_group = "forum";
$active_record = TRUE;

$db['DB1']['hostname'] = "xxxxx";
$db['DB1']['username'] = "xxxxx";
$db['DB1']['password'] = "xxxxx";
$db['DB1']['database'] = "xxxxx";
and other configs....

/* DB2 */

$db['DB2']['hostname'] = "xxxxx";
$db['DB2']['username'] = "xxxxx";
$db['DB2']['password'] = "xxxxx";
$db['DB2']['database'] = "xxxxx";
$db['DB2']['dbdriver'] = "mysql";
$db['DB2']['dbprefix'] = "";
and so on...

вы можете использовать базы данных по

$this->DB1 = $this->CI->load->database('DB1', TRUE);
$this->DB2 = $this->CI->load->database('DB2', TRUE);  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...