SQL запрос не работает в Drupal при получении более 100 строк - PullRequest
0 голосов
/ 06 октября 2009

Я пытался выполнить этот запрос 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 ]

2 голосов
/ 07 октября 2009

В вашем примере вы не передаете правильные параметры в 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 голос
/ 06 октября 2009

Если вы используете 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.
0 голосов
/ 06 октября 2009

Проверено ли, что у любых узлов в вашей установке Drupal есть термин таксономии из словаря таксономии № 1? Ваш запрос приведет к нулю строк, если словарь # 1 не используется ни в одном из узлов.

0 голосов
/ 06 октября 2009

отсутствие результатов запроса означает, что в ваших таблицах нет строк, соответствующих вашему условию соединения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...