欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

Drupal7 d7 db_query 有大用

感谢JurgenR获得答案。

再添加一件事:在drupal 6中,我们对字符串使用'%s'。在drupal 7中,对所有人来说都是一样的。 例如:

$results = db_query("select * from {files} 
where filename = :fname", array(':fname' => $filename));

如果您要搜索以模式开头的记录,则查询将为:

$results = db_query("select * from {files} 
where filename = :fname", array(':fname' => $filename.'%'));

答案 1 :(得分:1)

尝试更改

$result = db_query("select * from {files} where fid = %d", $val['_fid']);
while ($data = db_fetch_object($result)) {
  $thefile = $data;
}

$query = db_select('files', 'f')
  ->fields('f')
  ->condition('fid', $val['_fid']);
$thefile = $query->execute()->fetchObject();

Drupal 7数据库API文档http://drupal.org/node/310069

答案 2 :(得分:1)

感谢JurgenR获得答案。

再添加一件事:在drupal 6中,我们对字符串使用'%s'。在drupal 7中,对所有人来说都是一样的。 例如:

$results = db_query("select * from {files} 
where filename = :fname", array(':fname' => $filename));

如果您要搜索以模式开头的记录,则查询将为:

$results = db_query("select * from {files} 
where filename = :fname", array(':fname' => $filename.'%'));

希望这很有用。


来自  https://www.thinbug.com/q/11369447



drupal7使用数据库api db_query需要注意的地方

写自定义module时候需要从数据库检索数据,用到了数据库的api,用了下面的sql:

$record =  db_query("SELECT 'sampledate', 'time' FROM {table_name} WHERE uid = :uid", array(':uid' => $uid))->fetchObject();

结果var_dump($record);得到的结果为

object(stdClass)#221 (2) { ["sampledate"]=> string(10) "sampledate" ["heartrate"]=> string(9) "heartrate" } 

 

思来想去,“百撕不得骑姐”,无奈只好google之,在官网问答里面的到了启发:

复制代码


This is new in Drupal 7. Although MySQL doesn't care about single or double quotes, other SQL engines do. Works: SELECT delta FROM {block} WHERE status = 0 AND module = 'tracker' Does not work: SELECT delta FROM {block} WHERE status = 0 AND module = "tracker"
复制代码

咋一看之下,两个SQL并无差异。只是‘ 与 “ 的分别。原来drupal7里面SQL要使用single quotes,于是把SQL该了一下,去掉 ‘ (单引号),得到的结果就正常了:

$record =  db_query("SELECT sampledate, time FROM {table_name} WHERE uid = :uid", array(':uid' => $uid))->fetchObject();

 

 

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.


来自  https://www.cnblogs.com/hui314/p/drupal_db_query_notice.html


普通分类: