Php 如何在drupal 7中连接外部数据库?
Drupal7已经安装,并且可以很好地使用名为“DrupalDB”的数据库。另一个数据库“CustomDB”包含一个表。Php 如何在drupal 7中连接外部数据库?,php,mysql,drupal-7,database-connection,Php,Mysql,Drupal 7,Database Connection,Drupal7已经安装,并且可以很好地使用名为“DrupalDB”的数据库。另一个数据库“CustomDB”包含一个表。 如何在Drupal7中连接“CustomDB” 您可以看到Drupal 7安装所在的settings.php文件(存储位置数据库信息) $databases = array ( 'default' => array ( 'default' => array ( 'database' => 'db-name',
如何在Drupal7中连接“CustomDB” 您可以看到Drupal 7安装所在的
settings.php
文件(存储位置数据库信息)
$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\u set\u active()
,它将切换回默认数据库