我想从Drupal 7模块连接到数据库。目前我只有我想要运行的查询:
$query = db_select('z_lists)
->fields('country')
->condition('value', $country, '=')
->execute()
->fetchAssoc();
我无法弄清楚如何建立与默认数据库的连接。
任何帮助?
答案 0 :(得分:2)
在Drupal7中有一个名为db_query()的函数。您可以使用该功能来运行查询。 您可以在syntex下面使用
$var1 = 1;
$result = db_query('SELECT n.title FROM {node} n WHERE n.uid = :uid', array(':uid' => $var1));
$ result将是stdClass对象,因此您可以在foreach循环中使用它。
答案 1 :(得分:1)
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 ...
}
但是要回答实际的问题,您将自动连接到默认数据库。在对站点db运行任何类型的查询之前,无需声明任何类型的DB连接。
如果您尝试连接到另一个问题的外部数据库。