Переключение между идентичной MySQL конфигурацией базы данных в CodeIgniter - PullRequest
0 голосов
/ 12 февраля 2020

Я хочу переключаться между настройками базы данных, используя сеанс, когда пользователь вошел в систему (на основе предоставленного идентификатора школы, потому что в каждой школе есть разные базы данных). Вот моя конфигурация в базе данных. php

$ci =& get_instance();
$ci->load->library('session');

$active_group = 'default';
$query_builder = TRUE;

$db['default'] = array(
    'dsn'   => '',
    'hostname' => 'blablablah.com',
    'username' => $ci->session->has_userdata('session_dbuser') ? $ci->session->userdata('session_dbuser') : 'admin_blablablah',
    'password' => $ci->session->has_userdata('session_dbpass') ? $ci->session->userdata('session_dbpass') : 'dev@blablablah',
    'database' => $ci->session->has_userdata('session_dbname') ? $ci->session->userdata('session_dbname') : 'admin_blablablah',
    'dbdriver' => 'mysqli',
    'dbprefix' => '',
    '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
);

Пока пользователь вошел в систему, все работает, но база данных не переключается. Например, если $ci->session->userdata('session_dbuser') = 'db_blablablah' отображаемые данные все еще из базы данных по умолчанию (в данном случае 'admin_blablablah'), хотя после проверки с помощью print_r($db['default']) значение каждого поля изменяется.

Любые решения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...