Прошло много времени с тех пор, как этот вопрос был задан, но я чувствую, что нужен окончательный ответ.
Начиная с CodeIgniter 2.1.2
Когда загружено system/libraries/Session.php
, он также загружает базу данных для использования с сессиями, если указано.
Используемый код по умолчанию (Строка 85):
// Are we using a database? If so, load it
if ($this->sess_use_database === TRUE AND $this->sess_table_name != '')
{
$this->CI->load->database();
}
Теоретически это должно загрузить базу данных по умолчанию.По какой-то причине это не сработало для меня.Мне пришлось изменить код, чтобы он специально вызывал базу данных по умолчанию.
Код, который вы должны использовать для извлечения из базы данных default
:
// Are we using a database? If so, load it
if ($this->sess_use_database === TRUE AND $this->sess_table_name != '')
{
$this->CI->load->database('default', TRUE);
}
Если вы хотите использовать другуюdatabase, просто замените default
на имя базы данных, которую вы хотели бы использовать.
Примечание: Если вы загрузите другую базу данных перед вызовом данных сеанса, вынужно снова указать данные вашего сеанса.Сеанс продолжит попытки извлечения из активной в данный момент базы данных.