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

时间:2017-04-20 06:45:38

标签: php mysql drupal-7 database-connection

Drupal 7安装并正常运行,名为" DrupalDB"。另一个数据库" CustomDB"包含一个表。 如何连接" CustomDB"在drupal 7?

1 个答案:

答案 0 :(得分:3)

您可以在Drupal 7安装的位置看到JSONObject jsonObject = new JSONObject(); JSONArray jsonArray = jsonObject.getJSONArray("CategoryList"); for (int i = 0; i < jsonArray.length(); i++) { JSONObject jsonObject1 = jsonArray.getJSONObject(i); JSONObject jsonObject2 = jsonObject1.getJSONObject("MainCategory"); String Attribute_Name = jsonObject2.getString("Attribute_Name"); String Attribute_Value = jsonObject2.getString("Attribute_Value"); String StockKeepingunit = jsonObject2.getString("StockKeepingunit"); JSONArray jsonArray1 = jsonObject1.getJSONArray("SubCategory"); for (int j = 0; j < jsonArray1.length(); j++) { JSONObject jsonObject3 = jsonArray1.getJSONObject(i); String Attribute_Name1 = jsonObject2.getString("Attribute_Name"); String Attribute_Value1 = jsonObject2.getString("Attribute_Value"); String StockKeepingunit1 = jsonObject2.getString("StockKeepingunit"); } } JSONObject jsonObject1 = jsonObject.getJSONObject("status"); String message = jsonObject1.getString("message"); int result = jsonObject1.getInt("result"); 文件(存储位置数据库信息)。在那里您可以看到这样的数组。

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(); ,它将切换回默认数据库