从MySQL Rand()更改为PHP random_int

从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

我们正在创建一个随机数游戏。我们目前正在以下语句中使用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->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版本的平台之间移植。从我们的研究中,我们发现随机插值是一种更好的方法