Drupal:操作多个数据库

Drupal是主流的CMS系统之一。因此具备Drupal技能的开发人员有很多。

考虑这样的情况,如果你有一个现有的非Drupal系统,然后有一个Drupal开发团队,你希望这个Drupal团队帮你扩展应用。

那么这个时候,Drupal应用就应该设计成是支持多数据库的。


在Drupal中使用多数据,也很简单。

1、首先在配置文件(Settings.php)中把默认的数据库配置项改成数组形式:

<?php
$db_url
['default'] = 'mysql://drupal:drupal@localhost/drupal';
$db_url['jigo'] = 'mysql://user:pwd@localhost/jigo';
?>

注意这里的数据库格式必须是一样的。即不能一个是mysql,另外一个是pgsql。
而且默认的必须是drupal自己的数据库。


2、然后在程序中动态切换:
<?php
global $db_url; // 数据库链接的内部变量
if (!is_array($db_url)) {
 
$default_db = $db_url;
 
$db_url = array('default' => $default_db);
}
//也可以动态设置新的数据库,这里注释掉,因为我们已经写在配置项中
//$db_url['jigo'] = 'mysql://user:pwd@localhost/jigo';

db_set_active('jigo');    // activation & execution same as explained above
$results = db_query($sql); //sql represents the query to be executed
db_set_active('default'); // set back to original
?>

regards,

iefreer


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值