2017-04-20 54 views

回答

3

你可以看到settings.php文件(地方數據庫信息存儲在)Drupal 7 installation.in你可以看到一個這樣的數組。

$databases = array (
    'default' => 
    array (
    'default' => 
    array (
     'database' => 'db-name', 
     'username' => 'db-username', 
     'password' => 'db-password', 
     'host' => 'localhost', 
     'port' => '', 
     'driver' => 'mysql', 
     'prefix' => '', 
    ), 
), 
); 

要允許模塊快速做出其他數據庫的連接,你需要額外的信息添加到$databases陣列:

$databases['CustomDB']['default'] = array (
    'database' => 'CustomDB', 
    'username' => 'CustomDB-username', 
    'password' => 'CustomDB-password', 
    'host' => 'localhost', 
    'driver' => 'mysql', 
); 

可以看到,該代碼定義了識別另一個數據庫陣列密鑰CustomDB。所以,當你需要在你的模塊來查詢這個其他數據庫,你必須選擇使用此功能可連接到它:

db_set_active('CustomDB'); 

的,你必須關閉並恢復到默認的數據庫連接,以便Drupal能夠訪問其數據

db_set_active(); 

當你沒有傳遞參數的功能db_set_active(),它會切換回默認的數據庫