我想创建一些基于毫秒的随机代码。 当我使用“var_dump”时,它显示我的函数工作正常,并且创建了太多的 $result 数字。但是当我使用 ORM INSERT 语句将它们保存到我的数据库中时,它总是在数据库中保存:2147483648,而且似乎它不依赖于我的 $结果!!!!! 这是我的代码:
public function Timer($Number)
{
$i=0;
while ($i<$Number)
{
$microtime = microtime(true);
$milliseconds = sprintf("%02d", ($microtime - floor($microtime)) * 96 * 62 * 23 * 43);
$result=date('His'. $milliseconds, $microtime)."";
$result=substr($result,1,11);
DB::table('form')->insert([
'Number' => $result,
'IsValid' => false
]);
$i++;
}
}
最佳答案
2147483647
是 maximum number for signed INT
。因此,尝试使用无符号的BIGINT
或VARCHAR
来存储值。
或者您可以使用另一种方式来构建随机代码,例如 str_random()
或类似的东西。
关于php - 拉拉维尔 : Function Always Insert One Number To DB In LOOP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40363761/