2017-04-20 55 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(),它会切换回默认的数据库