так что вы можете получить сведения о соединении из сеанса и подключения к базе данных вручную, используя эти данные, и закрыть его, когда сделано
вручную Подключение к базе данных
$this->load->database();
Первый параметр эта функция может быть необязательно использована для указания конкретной группы базы данных из вашего файла конфигурации или вы даже можете отправить значения соединения для базы данных, которая не указана в вашем файле конфигурации. Примеры:
Чтобы выбрать определенную группу из файла конфигурации вы можете сделать это:
$this->load->database('group_name');
Где group_name это название группы соединений из файла конфигурации.
Для подключения вручную к нужной базе данных вы можете передать массив значений:
$config['hostname'] = "localhost";
$config['username'] = "myusername";
$config['password'] = "mypassword";
$config['database'] = "mydatabase";
$config['dbdriver'] = "mysql";
$config['dbprefix'] = "";
$config['pconnect'] = FALSE;
$config['db_debug'] = TRUE;
$config['cache_on'] = FALSE;
$config['cachedir'] = "";
$config['char_set'] = "utf8";
$config['dbcollat'] = "utf8_general_ci";
$this->load->database($config);
Для получения дополнительной информации по каждому из этих значений смотрите страницу конфигурации.
Или вы можете отправить свои значения базы данных в качестве имени источника данных. DSNs должен иметь этот прототип:
$dsn = 'dbdriver://username:[email protected]/database';
$this->load->database($dsn);
Чтобы переопределить значение конфигурации по умолчанию при подключении с помощью строки DSN, добавить переменные конфигурации в виде строки запроса.
$dsn = 'dbdriver://username:[email protected]/database?char_set=utf8&dbcollat=utf8_general_ci&cache_on=true&cachedir=/path/to/cache';
$this->load->database($dsn);
вручную закрытия соединения
Хотя CodeIgniter разумно заботится о закрытии соединения с БД, вы можете явно закрыть соединение.
$this->db->close();
больше о подключении к нескольким базам данных читать эту https://ellislab.com/codeigniter/user-guide/database/connecting.html
Зачем вам это нужно? – Nassim
Каждая компания имеет свою собственную базу данных, и пользовательский журнал содержит имя базы данных. – dutchlab
, тогда я думаю, что лучше поместить имя базы данных в сеанс, а затем вызвать его или переименовать из сеанса, имеет смысл – Nassim