mysql查询使用php限制记录

时间:2014-04-06 09:50:01

标签: php mysql

我有一个问题是如何限制此php查询中的记录数

    $query = $db->getQuery(true);
    $query->select('a.*,b.category_name')
          ->from('#__p_list AS a')
          ->innerJoin('#__p_cat AS b ON b.id = a.category_id')        
          ->where('a.approved=1')
          ->where('a.published=1')
    ;

    $query->limits(8,0);  //This Portion not working
    $db->setQuery($query);
    return $db->loadObjectList();

我用

$query->limit(8,0);     //limit() and limits() both dun work
$query->limit(8);       //limit() and limits() both dun work
$query->setlimit(8,0);  //limit() and limits() both dun work
$query->setlimit(8);
$query->limit('8,0');

一切都行不通。有人可以赐教我

2 个答案:

答案 0 :(得分:0)

limit(8,0)表示将返回以第8条记录开头的所有记录,因此如果您没有8条记录,则会返回mo记录。使用limit (0,8)表示将返回以第一条记录开头的8条记录

似乎你的语法不正确,而不是:

$query->limits(8,0);  //This Portion not working
$db->setQuery($query);

使用

$db->setQuery($query, 0,8);

答案 1 :(得分:0)

终于找到了答案,它与我使用joomla有关。正确的方法是在让DB执行查询的位置添加限制。

$db->setQuery($query);

这里你必须这样做才能限制

$db->setQuery($query,0,8);

感谢大家的帮助。