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
8388607
是 mediumint
的最大值(一个 3 字节的整数),这可能是你的 passcode
列的类型(你传递给它一个字符串, MySQL 转换回数字...)。任何大于 8388607
的数字都将被裁剪为该值。在 32 位系统上,平均每 256 个随机数中只有 1 个不会被裁剪。在 64 位系统上每 256^5...
变为一个随机数
我遇到了这种奇怪的问题。 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
8388607
是 mediumint
的最大值(一个 3 字节的整数),这可能是你的 passcode
列的类型(你传递给它一个字符串, MySQL 转换回数字...)。任何大于 8388607
的数字都将被裁剪为该值。在 32 位系统上,平均每 256 个随机数中只有 1 个不会被裁剪。在 64 位系统上每 256^5...