如何在 drupal 7 中连接外部数据库?
how to connect external database in drupal 7?
Drupal 7 已安装并且可以正常使用名为 "DrupalDB" 的数据库。另一个数据库 "CustomDB" 包含一个 table。
如何在 drupal 7 中连接 "CustomDB"?
你可以在 Drupal 7 installation.in 那里看到 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_set_active()
,它会切换回默认数据库
Drupal 7 已安装并且可以正常使用名为 "DrupalDB" 的数据库。另一个数据库 "CustomDB" 包含一个 table。 如何在 drupal 7 中连接 "CustomDB"?
你可以在 Drupal 7 installation.in 那里看到 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_set_active()
,它会切换回默认数据库