php函数从随机数返回相同的结果

标签 php mysql

我似乎无法弄清楚为什么我的随机数在浏览器上的刷新或返回按钮上生成相同的结果。或者,如果电子邮件有错误,例如重复条目,标题会显示返回注册页面再次填写详细信息。

简单地说:每次注册新用户时,我都会尝试在数据库中创建一个新的数字序列,如果我刷新表单或按回,用户大多数时候都会收到相同的随机数浏览器中,仅在提交时调用编号规则

<?php

$create_account = substr(number_format(time() * rand(),0,'',''),0,10);

 //etc

if ($insert_stmt = $mysqli->prepare("INSERT INTO members (username, email,
     password,salt, account, registered ) VALUES (?, ?, ?, ?,$create_account, now())")) 

 //  Database looks like this after it is inserted, check the account column.


...................................................................................
| id  | username |      email      |  paswword  |  salt   |  account  | registered |
....................................................................................
|  1  | david    | david1@f.com    |dfg8dfgdfgg |dfgdfgdfg| 2323232329 | 10/8/2013  |
....................................................................................
|   2 | bill     |  bill@der.com   |sdfsdfsdfspz|wpzz9kecm| 2323232329 | 11/26/2013 |
....................................................................................

我不明白为什么在我为新用户填写表单后每次请求 page.php 时这个函数都不会重新计算。

查看图片:example of storing old variables

最佳答案

似乎您的 account 列类型的最大整数是 232323231,而您的函数输出一个 10 位数字。将您的表修复为 bigint(20) unsigned 并且它应该可以工作。 :)

关于php函数从随机数返回相同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23934005/

相关文章:

php - joomla 3x 将字符串插入sql数据库

PHP MySQL 登录时不返回 1

mysql - 如何忽略条件结果并在sql server中选择保留结果

php - 上传PNG到网站服务器

mysql - 如何防止应用程序在使用文件时锁定文件?

mysql - 需要数据库架构设计建议吗?

php - 如何防止 PHP 中的 SQL 注入(inject)?

php - 如何在 cakephp 2.x 中发送 410

php - 文件上传返回值

mysql - 如何编写 SQL 来按用户过滤而不丢失行?