możesz umieścić swoją konfigurację bazy danych na application/config/database.php, tak jak w tym przykładzie:
$active_group = "default";
$active_record = TRUE;
/*MYSQL DB config EXMPALE */
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'username';
$db['default']['password'] = 'pass';
$db['default']['database'] = 'DATABASE_NAME';
$db['default']['dbdriver'] = 'mysqli';
//...
/* MSSQL DB config EXMPALE, note the first param my_mssql */
$db['my_mssql']['hostname'] = 'SQL SERVER IP';
$db['my_mssql']['username'] = 'username';
$db['my_mssql']['password'] = 'pass';
$db['my_mssql']['database'] = 'DATABASE_NAME';
$db['my_mssql']['dbdriver'] = 'mssql';
//...
Zauważ, że domyślną grupą jest mysql, więc jeśli wywołasz $this->db->..to użyje domyślnej grupy db.
dla zapytania z innym połączeniem np. MSSQL dodasz coś takiego w swoim modelu
class example_model extends CI_Model
{
var $mssql;
function __construct()
{
parent::__construct();
$this->mssql = $this->load->database ( 'my_mssql', TRUE );
}
function get_some_mssql_rows(){
//use $this->mssql instead of $this->db
$query = $this->mssql->query('select * from mssql_table');
//...
}
function get_some_mysql_rows(){
//use $this->db for default
$query = $this->db->query('select * from mysql_table');
//...
}
}
możesz użyć tego sposobu dla wielu połączeń dbs, takich jak na przykład replika do odczytu