CodeIgniter несколько дБ соединение не извлекает данные из второго дБ

Один — по умолчанию, а второй — вторая БД, которая мне нужна только в нескольких контроллерах для поддержки заказов, поступающих через систему. Вот код, мой database.php Файл выглядит следующим образом:

Вот моя конфигурация:

`$db['default'] = array(
'dsn'   => '',
'hostname' => 'localhost',
'username' => 'root',
'password' => '',
'database' => 'carbiz',
'dbdriver' => 'mysqli',
'dbprefix' => 'web_',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);
$db['abcd'] = array(
'dsn'   => '',
'hostname' => 'localhost',
'username' => 'root',
'password' => '',
'database' => 'sale2',
'dbdriver' => 'mysqli',
'dbprefix' => 'web_',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);`

Вот мой контроллер

public function __construct()
{
parent::__construct();
$this->load->model('admin_model');
$this->otherdb = $this->load->database('abcd', TRUE);`
}

Теперь в одной функции в том же контроллере, который использует второй дБ

function add_scondary()
{
$val=$this->otherdb->select('title')->get('products');
print_r("here");
print_r($val);
}

const CI_VERSION = ‘3.1.7’;

2

Решение

Надеюсь, что это поможет вам :

Сначала вы должны определить public или же private переменная $otherdb как это

public $otherdb;
public function __construct()
{
parent::__construct();
$this->otherdb = $this->load->database('abcd', TRUE);
}


function add_scondary()
{
$data = $this->otherdb->get('products')->result();
print_r(data);
}

Лучший способ использовать другую базу данных с одним и тем же соединением:

Вам не нужно создавать отдельные конфигурации базы данных, если вам нужно использовать другую базу данных только для одного и того же соединения. При необходимости вы можете переключиться на другую базу данных, например:

$this->db->db_select('sale2');
$data['abcd'] = $this->db->get('products')->result();
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]