2013-08-05 111 views
0

以下是我想用我用:顺序按随机的产生错误

$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()函数不起作用。
请帮我解决这个问题。

+2

什么是'$ conn'问题,或者你的表名 或你的图书馆?查询是否可以直接在SQL中使用? –

+1

我想你的想念在ASC/DESC中查询“SELECT * FROM'channel' ORDER BY rand()desc LIMIT 6”试试这个吗? – TomPHP

+0

很确定ASC/DESC与此无关,因为这个小提琴的作品http://sqlfiddle.com/#!9/26e76/2 但要知道$ conn是如何声明/初始化的会很有趣 – DrCopyPaste

回答

1
select * from user_details order by rand() limit 10 

工作,现在用于执行SQL

+0

我认为表名和库没有任何问题。如下: $ sql =“从通道ORDER BY ID desc LIMIT 6中选择*”; $ rs = $ conn-> Execute($ sql); $ channellist = $ rs-> getrows(); 正在工作。 但是,谈到兰特()。它只是变成空白。 – Daman

+0

获取更多关于使用执行sql语句的API信息,必须有一些标志不要OMMIT MYSQL FUNCTION.This库只是忽略你的rand函数字符串,因此你得到空白输出,做研究的API – Notepad