PHP 随机数存储在数据库问题

PHP random number storing in database issue

我遇到了这种奇怪的问题。 rand() 函数正确生成随机数。但是当它存储在数据库中时,该号码消失了,只有“8388607”号码存储在 MySQL 数据库中。我觉得这个问题真的很奇怪。

$passcode=rand(); 
echo $passcode; //prints random number correctly

    $phone=$_GET['phone'];
    $email=$_GET['email'];
    $address=$_GET['address'];
    $documentid=$_GET['documentid'];

    $sql="insert into Transaction (date, amount, amountRs, passcode, isPaid, comment, clientid, receiverid) values ('$date','$amount','$amountRs','$passcode','no','$comment','$senderid[1]','$receiverid[1]')"; //stores "8388607" number in database

8388607mediumint 的最大值(一个 3 字节的整数),这可能是你的 passcode 列的类型(你传递给它一个字符串, MySQL 转换回数字...)。任何大于 8388607 的数字都将被裁剪为该值。在 32 位系统上,平均每 256 个随机数中只有 1 个不会被裁剪。在 64 位系统上每 256^5...

变为一个随机数