0
Я хочу динамически менять подключение к базе данных, я преуспел в codeigniter 2.2.0, но не в версии 3.0.Codeigniter 3.0 - Невозможно изменить подключение к базе данных динамически
Вот мой код:
public function index(){
$this->load->model('compte_model','compte');
$this->load->model('utilisateur_model','utilisateur');
$this->load->helper('database_helper');
//Getting the database where to connect from the principale database
$compte = $this->compte->get_by('nom',$this->input->get('nom'));
$bdd = $compte->bdd_principale;
//Get the new configuration
$newDBB = getGroupName($bdd);
$this->load->database($newDBB,TRUE);
//Made a query in the second database but it doesn't work
$users = $this->utilisateur->get_all();
return $users;
}
Вот вспомогательная функция:
function getGroupName($bdd){
$config['hostname'] = "localhost";
$config['username'] = "root";
$config['password'] = "";
$config['database'] = $bdd;
$config['dbdriver'] = "mysql";
$config['dbprefix'] = "";
$config['pconnect'] = TRUE;
$config['db_debug'] = TRUE;
$config['cache_on'] = FALSE;
$config['cachedir'] = "";
$config['char_set'] = "utf8";
$config['dbcollat'] = "utf8_general_ci";
return $config;
}
Да, потому что вы все равно будете ссылаться на исходное соединение БД везде, где вы используете $ this-> db ... Я настоятельно рекомендую вам прочитать руководство по этому http://www.codeigniter.com /user_guide/database/connecting.html – TimBrownlaw