我需要随机从MySQL数据库中填充2x用户名。
我说我的数据库中有clinton
,sanders
和trump
用户(抱歉无法帮助自己)。
我希望只有两个用户随机输入变量。我读了太多脚本,让自己非常困惑。
$result = mysqli_query($mdb, "SELECT user FROM `table`");
$row = mysqli_fetch_row(array_rand($result,2));
echo $row[0] . "\n";
echo $row[1] . "\n";
实际上,由于我的泰迪熊很寂寞,所以我真的要去打瞌睡了。所以明天早上我会回答并回复答案。感谢。
答案 0 :(得分:2)
我认为你应该再单独留下你的泰迪熊并直接使用这个查询
$result = mysqli_query($mdb, "SELECT user FROM `table` ORDER BY RAND() LIMIT 0, 2");
这会自动从数据库中随机输入两个条目,您将不再需要使用array_rand()
关于对大基数的影响的评论中的问题,在研究中它会产生很大的影响。我发现对此http://www.petefreitag.com/item/466.cfm的评论提供了更好的选择
如果您有一个包含许多行的表,则可以进行多次查询 快点。一个简单的SELECT * FROM表ORDER BY RAND()必须进行排序 在记忆中 - 昂贵。如果您将查询更改为SELECT * FROM表 WHERE RAND()> 0.9 ORDER BY RAND()然后你减少了开销 按90%排序。这将有许多兰德()的开销 语句,但在DB2大型机上,它是一种更快的技术。