gpt4 book ai didi

drupal - Drupal 7中的多个并发数据库连接

转载 作者:行者123 更新时间:2023-12-04 03:34:31 28 4
gpt4 key购买 nike

我正在为我的drupal 7网站编写一个包装器类,它使我可以连接到并查询我的phpbb数据库。

当连接到外部数据源时(根据drupal文档),您已经设置了事件数据库,运行查询,然后将事件数据库设置回默认值。

例如

db_set_active('phpbb');
$result = db_query($sql,$args,$opts);
db_set_active();//back to default

但是,有什么方法可以使用drupal的数据库包装器创建一个全新的连接,该连接可以永久设置为新数据库,而不必进行这种来回切换的废话?当然,我们可以同时处理与多个数据库的连接。

我已经进行了一些谷歌搜索,但尚未找到任何尝试这样做的人。

最佳答案

典型的。发布5分钟后,我知道了...所以,对于 future 的Google员工:

基本上,您不使用db_query,而是在不设置事件链接的情况下在连接上运行查询。

您可以通过查看db_query的工作原理来解决:
http://api.drupal.org/api/drupal/includes--database--database.inc/function/db_query/7

所以看起来像这样:

$target='default';
$key = 'phpbb';
$phpbb = Database::getConnection($target,$key);
$result = $phpbb->query($sql,$args,$opts);

假设您在settings.php中配置了一个数据库,如下所示:
$databases['phpbb']['default'] = array(
'driver' => 'mysql',
'database' => 'forum',
'username' => 'username',
'password' => 'password',
'host' => 'mysql.host.com',
'prefix' => 'phpbb3_'
);

关于drupal - Drupal 7中的多个并发数据库连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4839063/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com