sql >> Databasteknik >  >> RDS >> Mysql

Codeigniter - flera databasanslutningar

Du bör ange den andra databasinformationen i `application/config/database.php´

Normalt skulle du ställa in default databasgrupp, som så:

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

Observera att inloggningsinformationen och inställningarna tillhandahålls i arrayen med namnet $db['default'] .

Du kan sedan lägga till ytterligare en databas i en ny array - låt oss kalla den 'otherdb'.

$db['otherdb']['hostname'] = "localhost";
$db['otherdb']['username'] = "root";
$db['otherdb']['password'] = "";
$db['otherdb']['database'] = "other_database_name";
$db['otherdb']['dbdriver'] = "mysql";
$db['otherdb']['dbprefix'] = "";
$db['otherdb']['pconnect'] = TRUE;
$db['otherdb']['db_debug'] = FALSE;
$db['otherdb']['cache_on'] = FALSE;
$db['otherdb']['cachedir'] = "";
$db['otherdb']['char_set'] = "utf8";
$db['otherdb']['dbcollat'] = "utf8_general_ci";
$db['otherdb']['swap_pre'] = "";
$db['otherdb']['autoinit'] = TRUE;
$db['otherdb']['stricton'] = FALSE;

Nu, för att faktiskt använda den andra databasen, måste du skicka kopplingen till en annan variabel som du kan använda i din modell:

function my_model_method()
{
  $otherdb = $this->load->database('otherdb', TRUE); // the TRUE paramater tells CI that you'd like to return the database object.

  $query = $otherdb->select('first_name, last_name')->get('person');
  var_dump($query);
}

Det borde göra det. Dokumentationen för att ansluta till flera databaser finns här:http:// codeigniter.com/user_guide/database/connecting.html



  1. Hur man påskyndar insättningsprestanda i PostgreSQL

  2. Kontrollera om en tabell har en TIMESTAMP-kolumn i SQL Server med OBJECTPROPERTY()

  3. Jämför DATETIME och DATE ignorerande tidsdel

  4. TABLESAMPLE returnerar fel antal rader?