【问题标题】:how to connect external database in drupal 7?如何在 drupal 7 中连接外部数据库?
【发布时间】:2017-04-20 06:45:37
【问题描述】:

Drupal 7 已安装并与名为“DrupalDB”的数据库一起正常工作。另一个数据库“CustomDB”包含一个表。 如何在 drupal 7 中连接“CustomDB”?

【问题讨论】:

    标签: php mysql drupal-7 database-connection


    【解决方案1】:

    你可以在 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_set_active(),它将切换回默认数据库

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-23
      • 1970-01-01
      • 2020-06-14
      • 1970-01-01
      相关资源
      最近更新 更多