Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Dynamiczne połączenie z bazą danych Codeiniter

Powinieneś podać wszystkie informacje o bazie danych w application/config/database.php´

Normalnie ustawisz domyślną grupę baz danych, na przykład:

$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;

Zwróć uwagę, że dane logowania i ustawienia znajdują się w tablicy o nazwie $db['default'] .

Następnie możesz dodać kolejną bazę danych do nowej tablicy - nazwijmy ją 'inna baza'.

$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;

Teraz, jeśli chcesz użyć drugiej bazy danych, po prostu idź

$DB_another = $this->load->database('anotherdb', TRUE); 

a następnie zamiast $this->db->foo() , będziesz $DB_another->foo()

i możesz rozszerzyć to na wiele grup, takich jak ta

 $DB2 = $this->load->database('anotherdb1', TRUE); 
 $DB3 = $this->load->database('anotherdb2', TRUE); 

Szczegóły znajdziesz tutaj:http://ellislab.com/codeigniter/ user-guide/database/connecting.html



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błąd MySQL::'Odmowa dostępu dla użytkownika 'root'@'localhost'

  2. Jak używać $_GET, aby uzyskać wiele parametrów o tej samej nazwie w PHP?

  3. Różnica między UNIX_TIMESTAMP i NOW() w MySQL

  4. Czy mogę na ślepo zastąpić wszystkie funkcje mysql_ mysqli_?

  5. Implementacja algorytmu rankingowego Hacker News w SQL