Php 在drupal中检测数据库连接类型

Php 在drupal中检测数据库连接类型,php,sql-server,postgresql,drupal,drupal-7,Php,Sql Server,Postgresql,Drupal,Drupal 7,如何在drupal中检测连接到的数据库类型(使用php代码)?我正在尝试编写一个模块,它公开一些只在postgres或sql server上工作的数据库功能。目前,我正在尝试检测数据库版本,因为每个数据库的语法似乎不同,但它似乎不是很健壮。是否有php函数将报告此情况?这可能会对您有所帮助。在执行查询之前,使用db_set_active()API设置数据库 这将帮助您远离错误 <?php //set your configurations $db_url['default'] = 'my

如何在drupal中检测连接到的数据库类型(使用php代码)?我正在尝试编写一个模块,它公开一些只在postgres或sql server上工作的数据库功能。目前,我正在尝试检测数据库版本,因为每个数据库的语法似乎不同,但它似乎不是很健壮。是否有php函数将报告此情况?

这可能会对您有所帮助。在执行查询之前,使用db_set_active()API设置数据库

这将帮助您远离错误

<?php

//set your configurations
$db_url['default'] = 'mysql://drupal:drupal@localhost/drupal';
$db_url['mydb'] = 'mysql://user:pwd@localhost/anotherdb';
$db_url['db3'] = 'mysql://user:pwd@localhost/yetanotherdb';

//set the active database and then process your queries in this case you can always knows which database is connected now.
db_set_active('mydb');
db_query('SELECT * FROM table_in_anotherdb');

这可能会对您有所帮助。在执行查询之前,使用db_set_active()API设置数据库

这将帮助您远离错误

<?php

//set your configurations
$db_url['default'] = 'mysql://drupal:drupal@localhost/drupal';
$db_url['mydb'] = 'mysql://user:pwd@localhost/anotherdb';
$db_url['db3'] = 'mysql://user:pwd@localhost/yetanotherdb';

//set the active database and then process your queries in this case you can always knows which database is connected now.
db_set_active('mydb');
db_query('SELECT * FROM table_in_anotherdb');

这可能会对您有所帮助。在执行查询之前,使用db_set_active()API设置数据库

这将帮助您远离错误

<?php

//set your configurations
$db_url['default'] = 'mysql://drupal:drupal@localhost/drupal';
$db_url['mydb'] = 'mysql://user:pwd@localhost/anotherdb';
$db_url['db3'] = 'mysql://user:pwd@localhost/yetanotherdb';

//set the active database and then process your queries in this case you can always knows which database is connected now.
db_set_active('mydb');
db_query('SELECT * FROM table_in_anotherdb');

这可能会对您有所帮助。在执行查询之前,使用db_set_active()API设置数据库

这将帮助您远离错误

<?php

//set your configurations
$db_url['default'] = 'mysql://drupal:drupal@localhost/drupal';
$db_url['mydb'] = 'mysql://user:pwd@localhost/anotherdb';
$db_url['db3'] = 'mysql://user:pwd@localhost/yetanotherdb';

//set the active database and then process your queries in this case you can always knows which database is connected now.
db_set_active('mydb');
db_query('SELECT * FROM table_in_anotherdb');

您应该使用全局变量:
$databases
并检查驱动程序值

global $databases;

dpm($databases);


您应该使用全局变量:
$databases
并检查驱动程序值

global $databases;

dpm($databases);


您应该使用全局变量:
$databases
并检查驱动程序值

global $databases;

dpm($databases);


您应该使用全局变量:
$databases
并检查驱动程序值

global $databases;

dpm($databases);


我不完全理解您目前正在尝试什么,但是

db_driver()

以字符串形式返回Drupal中当前连接的数据库(例如“pgsql”)。

我不完全理解您目前正在尝试什么,但是

db_driver()

以字符串形式返回Drupal中当前连接的数据库(例如“pgsql”)。

我不完全理解您目前正在尝试什么,但是

db_driver()

以字符串形式返回Drupal中当前连接的数据库(例如“pgsql”)。

我不完全理解您目前正在尝试什么,但是

db_driver()

以字符串形式返回Drupal中当前连接的数据库(例如“pgsql”)。

此答案适用于Drupal 6。尝试将您的代码修改为Drupal 7。我不尝试在数据库之间切换,只需检查配置的数据库类型,以便知道我的模块是否可以工作或是否显示错误。供您参考此答案适用于Drupal 6。尝试将您的代码修改为Drupal 7。我不尝试在数据库之间切换,只需检查配置的数据库类型,以便知道我的模块是否可以工作或是否显示错误。供您参考此答案适用于Drupal 6。尝试将您的代码修改为Drupal 7。我不尝试在数据库之间切换,只需检查配置的数据库类型,以便知道我的模块是否可以工作或是否显示错误。供您参考此答案适用于Drupal 6。尝试将您的代码修改为Drupal 7。我不尝试在数据库之间切换,只需检查配置的数据库类型,以便知道我的模块是否可以工作或是否显示错误。对于您的参考,rupal构建在PDO之上,所以Drupal构建在PDO之上,所以Drupal构建在PDO之上,所以Drupal构建在PDO之上,所以