我有一个mysql数据中的名称列表,我想随机为一个体育赛事抽签进行排序。使用下面的代码。我应该使用哪些php函数?
<?php
$user="";
$password="";
$database="";
mysql_connect('localhost',$user,$password);
@mysql_select_db($database) or die("Unable to select database");
$result = mysql_query("SELECT * FROM entries ORDER BY RAND()")
or die(mysql_error());
$rows = mysql_num_rows($result);
?>
这通常很适合我不过有次,其中参赛者进入事件两次,即使经过随机排序他的名字出现一个接一个。我应该使用不同的PHP函数吗?或者是添加if子句的问题?
在此先感谢...
如果你正在编写新代码,** _ please _ **不要使用'mysql_ *'函数。它们已经老化并且破损,在PHP 5.5中已经被弃用了(它已经很旧了,它甚至不再接收安全更新),并且在PHP 7中完全删除了。使用PDO或者'mysqli_ *'_with **准备好的语句**和**参数绑定**而不是。有关详细信息,请参阅http://stackoverflow.com/q/12859942/354577。 – Chris
“有时候参赛者进入两次赛事,甚至在随机排序后他的名字会一个接一个地出现”。是的,这是_什么[随机意味着](https://en.wikipedia.org/wiki/Randomness)_:“事件中缺乏模式或可预测性”。有时两个相同的值会彼此相邻。如果这从来没有发生过,你会有一个模式,而不是随机性。 – Chris
你想要的行为是什么?参赛者只能赢得一次吗?他们是否应该只能进入一次?如果他们可以多次进入,这是否会增加他们获奖的机会? – Chris