【发布时间】:2013-08-05 06:50:09
【问题描述】:
这是我想要使用并且我正在使用的:
$sql="SELECT * from channel ORDER BY rand() LIMIT 6 ";
$rs = $conn->
Execute($sql);
$channellist = $rs->
getrows();
但这会产生错误,整个网站都会变成空白。
在服务器错误日志中,这是错误:
[28-Jul-2013 09:53:37 America/Detroit] PHP Fatal error: Call to a member function getrows() on a non-object in /home/hotspitt/public_html/cache/templates_c/%%C3^C37^C3724EE2%%head1.tpl.php on line 60
删除第 60 行($channellist = $rs->getrows();)使其工作。
并将其更改为:
$sql="SELECT * from channel ORDER BY ID desc LIMIT 6 ";
$rs = $conn->
Execute($sql);
$channellist = $rs->
getrows();
让它工作。所以我认为rand函数有问题。我不明白为什么 rand() 函数不起作用。
请帮我解决这个问题。
【问题讨论】:
-
$conn是什么?查询是否直接在 SQL 中工作? -
我认为您在查询“SELECT * FROM
channelORDER BY rand() desc LIMIT 6”中错过了 ASC/DESC,试试这个? -
很确定 ASC/DESC 与此无关,因为这个小提琴可以工作 sqlfiddle.com/#!9/26e76/2 但是要知道如何声明/初始化 $conn 会很有趣
-
我知道这两个查询都是正确的。由于 rand() 函数几天前还在工作,但是在安装 nginx 之后,这一切都发生了。现在我不能使用 rand() 函数,我必须坚持 Desc 的顺序。我不知道为什么会这样。