获取超过100行时,sql查询在drupal中不起作用

时间:2009-10-06 18:43:48

标签: sql mysql drupal

我试图执行这个mysql查询,如果我将query_limit设置为100以上,它不会给我任何结果,有人可以指出我可以做些什么来让这个工作来获取更多数据。

$query_limit = 190;
$query1 = "SELECT N.nid ,N.tid FROM term_node N JOIN term_data S  ON  S.tid = N.tid AND S.vid =1";
$query_result = db_query_range($query1, $vid, 0, $query_limit);

4 个答案:

答案 0 :(得分:2)

根据您的示例,您不会将正确的参数传递给db_query_range。您应该尝试不传递未使用的查询参数替换$vid

$query_limit = 190;
$query1 = "SELECT N.nid ,N.tid FROM term_node N JOIN term_data S ON S.tid = N.tid AND S.vid = 1";
$query_result = db_query_range($query1, 0, $query_limit);

或更好,通过在查询中引用它来正确使用它(查询末尾的%d将替换为$vid的值:

$vid = 1;
$query_limit = 190;
$query1 = "SELECT N.nid ,N.tid FROM term_node N JOIN term_data S ON S.tid = N.tid AND S.vid = %d";
$query_result = db_query_range($query1, $vid, 0, $query_limit);

答案 1 :(得分:1)

如果您使用的是Drupal7,则可能错误地调用了db_query_range功能。 http://api.drupal.org/api/function/db_query_range/7

db_query_range($query, $from, $count, array $args = array(), array $options = array())

$count The number of records to return from the result set.

答案 2 :(得分:0)

查询中没有结果表示您的表中没有与您的连接条件匹配的行。

答案 3 :(得分:0)

您是否确认Drupal安装中的任何节点都具有#1分类词汇表中的分类术语?如果未在任何节点中使用#1词汇表,则查询将导致零行。