如何解决如何把SQL查询升级到Drupal 7?
| 我是drupal 7的新手。$sql = \"SELECT nid,title FROM {node} n
WHERE nid $sql_op %d
AND type IN (\" . implode(\',\',$quoted_types) . \")
AND status = 1
ORDER BY nid $order
LIMIT 1\";
$result = db_query($sql,$current_node->nid,$type);
$data = db_fetch_object($result);
怎样把上面的sql查询升级到drupal 7谢谢。
解决方法
对于D7,如下所示:
$result = db_select(\'node\',\'n\')
->fields(\'n\',array(\'nid\',\'title\'))
->condition(\'n.nid\',$current_node->nid,$sql_op)
->condition(\'type\',$type)
->condition(\'status\',1)
->orderBy(\'nid\',$order)
->range(0,1)
->execute();
$data = $result->fetchObject();
当然,未经测试,因此请报告此操作。还要确保使用正确的类型,而不是为什么D6版本为什么要为该类型使用IN语句,而只有一个$ type。请注意,在上面的代码中,您可以将单个值或值的数组传递给condition(),两者都可以。
, 尝试这个 :
$result = db_select(\'node\',$quoted_types,\'IN\')
->condition(\'status\',1)
->execute();
$data = $result->fetchObject();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。