我感到很困惑。我有以下代码:

function fetchAllArray($assoc = MYSQL_ASSOC) {
    while($rows=$this->result->fetch_array($assoc))
        $arr[]=$rows;
    return $arr;

}

function getGalleries($limit = 0,$orderby = '`created` ASC, sort_id',$ordersort = 'DESC') {

    $this->query("SELECT * FROM galleries WHERE status=1 ORDER BY ".$orderby." ".$ordersort." ".($limit==0 ? "" : " LIMIT ".$limit).";");
    $arr=$this->fetchAllArray();

    if(is_array($arr))
        return $arr;
    else
        return FALSE;
}


当我这样称呼它时:

$this->getGalleries(300);


这什么也不会返回!

当我在phpmyadmin中测试确切的查询时,我得到结果。当我从查询中删除LIMIT时,它起作用了。为什么LIMIT在这里不起作用?

该代码在带有LIMIT的localhost中运行良好,但在服务器中却无法运行!

编辑:
我只是发现这是在服务器上不起作用的“创建”字符串!当我从查询中删除created时,它在服务器上可用,但是当我包含它时,则无法使用!如何在查询中添加此内容!

最佳答案

似乎您的函数没有获取参数,并且采用默认参数零,因此您不会得到任何结果。

尝试在执行查询之前放置一条打印语句,以查看查询是否组成正确...

关于php - 具有LIMIT的MySQL确实可以,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10061511/

10-13 22:25