2013-08-05 80 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