Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在drupal 7中连接外部数据库?_Php_Mysql_Drupal 7_Database Connection - Fatal编程技术网

Php 如何在drupal 7中连接外部数据库?

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已经安装,并且可以很好地使用名为“DrupalDB”的数据库。另一个数据库“CustomDB”包含一个表。
如何在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()
,它将切换回默认数据库