我很困惑。我有这段代码:
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不能在这里工作?
代码在localhost中使用LIMIT但在服务器中运行良好!
编辑:
我刚刚发现这是'创建'字符串,无法在服务器上运行!当我从查询中删除created
时,它可以在服务器上运行但是当我包含它时不起作用!我如何在我的查询中添加这个!?
答案 0 :(得分:2)
似乎你的函数没有得到参数并且取默认参数为零,所以你没有得到任何结果。
尝试在执行查询之前放置一个print语句,以查看查询是否组合良好......
答案 1 :(得分:1)
这可能是您的PHP代码中的错误,而不是查询中的错误。
打开general_log以查看php实际发送的内容
set global general_log = 1;