Трябва да предоставите цялата информация за базата данни в application/config/database.php´
Обикновено бихте задали групата база данни по подразбиране, както следва:
$db['default']['hostname'] = "localhost";
$db['default']['username'] = "root";
$db['default']['password'] = "";
$db['default']['database'] = "database_name";
$db['default']['dbdriver'] = "mysql";
$db['default']['dbprefix'] = "";
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = FALSE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = "";
$db['default']['char_set'] = "utf8";
$db['default']['dbcollat'] = "utf8_general_ci";
$db['default']['swap_pre'] = "";
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;
Обърнете внимание, че информацията за вход и настройките са предоставени в масива с име $db['default']
.
След това можете да добавите друга база данни в нов масив – нека го наречем „anotherdb“.
$db['anotherdb']['hostname'] = "localhost";
$db['anotherdb']['username'] = "root";
$db['anotherdb']['password'] = "";
$db['anotherdb']['database'] = "another_database_name";
$db['anotherdb']['dbdriver'] = "mysql";
$db['anotherdb']['dbprefix'] = "";
$db['anotherdb']['pconnect'] = TRUE;
$db['anotherdb']['db_debug'] = FALSE;
$db['anotherdb']['cache_on'] = FALSE;
$db['anotherdb']['cachedir'] = "";
$db['anotherdb']['char_set'] = "utf8";
$db['anotherdb']['dbcollat'] = "utf8_general_ci";
$db['anotherdb']['swap_pre'] = "";
$db['anotherdb']['autoinit'] = TRUE;
$db['anotherdb']['stricton'] = FALSE;
Сега, ако искате да използвате втората база данни, просто отидете
$DB_another = $this->load->database('anotherdb', TRUE);
и след това вместо $this->db->foo()
, ще вие $DB_another->foo()
и можете да разширите това до множество групи като тази
$DB2 = $this->load->database('anotherdb1', TRUE);
$DB3 = $this->load->database('anotherdb2', TRUE);
За подробности вижте тук:http://ellislab.com/codeigniter/ user-guide/database/connecting.html