从MySQL Rand()更改为PHP random_int
我们正在创建一个随机数游戏。我们目前正在以下语句中使用MySQL Rand函数:从MySQL Rand()更改为PHP random_int,php,mysql,random,Php,Mysql,Random,我们正在创建一个随机数游戏。我们目前正在以下语句中使用MySQL Rand函数: private function doPreEventStart($user) { $row = db_fetch_item("SELECT resultid FROM ResultPackage where ResultPackage.slotid like '%{$this->curSlotId}' and ResultPackage.PackageID like '%{$user-&g
private function doPreEventStart($user) {
$row = db_fetch_item("SELECT resultid FROM ResultPackage
where ResultPackage.slotid like '%{$this->curSlotId}'
and ResultPackage.PackageID like '%{$user->packageid}%'
ORDER BY RAND() LIMIT 1");
$this->curResultId = $row['resultid'];
}
我们需要将此更改为PHP函数Random_Int。请有人建议通过修改上述代码来实现此目的。从SQL语句中的WHERE条件可以看出,随机数仍然需要在一定范围内 我正在测试此代码:
private function doPreEventStart($user) {
$row = db_fetch_item("SELECT resultid as MaxResult FROM ResultPackage
where ResultPackage.slotid like '%{$this->curSlotId}'
and ResultPackage.PackageID like '%{$user->packageid}%'
ORDER BY resultid desc LIMIT 1");
$this->MaxResult = $row['MaxResult'];
$row = db_fetch_item("SELECT resultid as MinResult FROM ResultPackage
where ResultPackage.slotid like '%{$this->curSlotId}'
and ResultPackage.PackageID like '%{$user->packageid}%'
ORDER BY resultid asc LIMIT 1");
$this->MinResult = $row['MinResult'];
$this->curResultId = int rand ( int $MinResult , int $MaxResult )
}
发帖前你做过什么调查吗?目前的方法有什么问题吗?目前的方法实际上不是随机的。兰德并不是一个完美的随机发生器。这是一种按需生成随机数的快速方法,可在同一MySQL版本的平台之间移植。从我们的研究中,我们发现随机插值是一种更好的方法