Php 如何洗牌数据库值并仅显示4

Php 如何洗牌数据库值并仅显示4,php,mysql,Php,Mysql,我试过这个,但不起作用 $getPerson = mysqli_query($con,"SELECT * FROM Persons LIMIT 0,15"); shuffle($getPerson)//how to set limit for this? 您可以使用ORDER BY RAND()和LIMIT 0,4 SELECT * FROM Persons ORDER BY rand() LIMIT 0,4 我想使用shuffle只显示数据库中的4个。这怎么可能?请帮忙。谢谢。兰德()

我试过这个,但不起作用

 $getPerson = mysqli_query($con,"SELECT * FROM Persons LIMIT 0,15");
 shuffle($getPerson)//how to set limit for this?

您可以使用
ORDER BY RAND()
LIMIT 0,4

SELECT * FROM Persons ORDER BY rand() LIMIT 0,4

我想使用shuffle只显示数据库中的4个。这怎么可能?请帮忙。谢谢。兰德()会让它慢下来的。除了兰德(),还有其他选择吗?@Ivan不,我不这么认为。。检查此页面上的已接受答案:。看起来使用PHP
rand()
函数可能比mysqli
rand()
函数更快,至少对于大型数据库是这样。它怎么可能。。。如果您必须返回大量记录,然后对它们进行洗牌,只返回一个小的随机集肯定会更快使用PDO可能会有所帮助,但我仍然认为PHP的rand()会更快