我想从Drupal 7模块连接到数据库。目前,我只有我想运行的是查询:如何从Drupal 7模块连接到数据库?
$query = db_select('z_lists)
->fields('country')
->condition('value', $country, '=')
->execute()
->fetchAssoc();
我无法弄清楚是如何建立与缺省数据库的连接。
任何帮助?
我想从Drupal 7模块连接到数据库。目前,我只有我想运行的是查询:如何从Drupal 7模块连接到数据库?
$query = db_select('z_lists)
->fields('country')
->condition('value', $country, '=')
->execute()
->fetchAssoc();
我无法弄清楚是如何建立与缺省数据库的连接。
任何帮助?
在Drupal7中有称为db_query()的函数。您可以使用该功能来运行您的查询。 您可以使用下面了Syntex
$var1 = 1;
$result = db_query('SELECT n.title FROM {node} n WHERE n.uid = :uid', array(':uid' => $var1));
$结果将是stdClass的对象,所以你可以在foreach循环使用它。
op的示例代码唯一的问题是滥用db_select和缺少单引号。
动态查询:https://drupal.org/node/310075
这本来是很好,如果你只是用这个来代替:
$query = db_select('z_lists','z')
->fields('z')
->condition('value', $country, '=')
->execute()
->fetchAssoc();
这将返回所有字段的匹配结果。
链接到末尾的 - > fetchAssoc()将确保您只收到第一个匹配的记录。如果您希望多个结果,你会离开关 - > fetchAssoc(),并通过结果只用循环:
foreach($query as $result){
... do something with the data here ...
}
但是,为了回答实际问的问题,你会自动连接到默认数据库。在对站点数据库运行任何查询之前,不需要声明任何类型的数据库连接。
如果您尝试连接到另一个问题的外部数据库。
不要将您的问题交叉发布到多个网站:http://drupal.stackexchange.com/questions/4650/how-do-i-connect-to-the-database-from-a-module/4653 #4653 – Berdir 2011-06-04 17:27:07