Переключить динамическую базу данных из другой БД в CodeigniterPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Переключить динамическую базу данных из другой БД в Codeigniter

Сообщение Anonymous »

Ми файл config.php:

Код: Выделить всё

$active_group = 'default';
$active_record = TRUE;
Мастер базы данных — это уникальная БД

Код: Выделить всё

$db['master']['hostname'] = "localhost";
$db['master']['username'] = "root";
$db['master']['password'] = "";
$db['master']['database'] = "admin_nb";
$db['master']['dbdriver'] = "mysqli";
$db['master']['dbprefix'] = '';
$db['master']['pconnect'] = FALSE;
$db['master']['db_debug'] = TRUE;
$db['master']['cache_on'] = FALSE;
$db['master']['cachedir'] = "";
$db['master']['char_set'] = "utf8";
$db['master']['dbcollat'] = "utf8_general_ci";
Приложение базы данных — это ДИНАМИЧЕСКАЯ БД

Код: Выделить всё

$db['app']['hostname'] = 'localhost';
$db['app']['username'] = 'root';
$db['app']['password'] = '';
$db['app']['database'] = $my_bd_dynamic;
$db['app']['dbdriver'] = 'mysqli';
$db['app']['dbprefix'] = '';
$db['app']['pconnect'] = TRUE;
$db['app']['db_debug'] = TRUE;
$db['app']['cache_on'] = FALSE;
$db['app']['cachedir'] = '';
$db['app']['char_set'] = 'utf8';
$db['app']['dbcollat'] = 'utf8_general_ci';
$db['app']['swap_pre'] = '';
$db['app']['autoinit'] = TRUE;
$db['app']['stricton'] = FALSE;
В соответствии с входом в главную базу данных я получаю имя базы данных и должен присвоить значение переменной
$ My_bd_dynamic

"bd_dynamic's" не может записать это вручную, потому что многие базы данных

Я тестировал это в своем контроллере:

Код: Выделить всё

class Trabajador extends CI_Controller {
public function __construct()
{
parent::__construct();

$this->load->driver('cache');
$this->load->helper(array('form', 'url','otros_helper','fechas_helper','imagen_helper'));
// Se le asigna a la informacion a la variable $user.
$this->abbost_hotel = @$this->session->userdata('sess_abbost_hotel_'.substr(base_url(),-8,7));

$my_bd_dynamic= $this->abbost_hotel->nombre_bd; /*var session*/
$config_app['hostname'] = 'localhost';
$config_app['username'] = 'root';
$config_app['password'] = '';
$config_app['database'] = $my_bd_dynamic;
$config_app['dbdriver'] = 'mysqli';
$config_app['dbprefix'] = '';
$config_app['pconnect'] = FALSE;
$config_app['db_debug'] = TRUE;
$this->load->model('model_tareas','',$config_app);

}
public function index()
{
//...
}
И моя Model_tarea:
...

Код: Выделить всё

 public function m_cargar_tareas_activas()
{
$estado = 1;
$this->db->select("colum1,colum2");
$this->db->from('tarea');
$query = $this->db->get();
return $query->result_array();
}
...
Но читайте мастер базы данных, а не читайте базу данных $my_bd_dynamic.
Помогите, пожалуйста,
Нет способа манипулировать таким способом?

Код: Выделить всё

$this->set->database = $my_dinamic_bd;
Какую часть ядра codeigniter мне нужно изменить, чтобы устранить проблему?

Подробнее здесь: https://stackoverflow.com/questions/254 ... odeigniter
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»