2013-02-09 27 views
0

我目前在php中使用EZSQL類來查詢MySQL數據庫。我試圖從數據庫中抓取隨機記錄,但是我想知道是否可以通過php來隨機化結果,而不是使用sql查詢本身。查詢目前看起來是這樣的:使用php而不是mysql查詢隨機化數據庫結果

$results = $db->get_results("SELECT * FROM table ORDER BY RAND()"); 

foreach($results AS $result) 
{ 

//code here 

} 

而是我能不能搶,結果從該數據庫,然後通過PHP隨機呢?如果是這樣,我該怎麼做?

+2

['shuffle'(http://php.net/manual/en/function.shuffle.php) – 2013-02-09 23:15:39

+0

爲什麼要這麼做?數據庫中的隨機化可能更快。 – 2013-02-09 23:21:37

+0

如果將涉及'LIMIT',您將返回到SQL的'RAND()',這很好。如果你認爲'RAND()'是大數據庫的問題(不是真的),那麼你將不得不使用'LIMIT'來選擇數十億行。所以你有它:'ORDER BY RAND()'是你唯一的選擇。 – 2013-02-10 00:15:24

回答

0

同意@shuffle,但如果你真的想使用PHP,我不會使用foreach;相反,採取$結果大小,得到0和長度-1之間的隨機數,並使用它從陣列