使用PHP和MySQL的UNIQUE如何像京东注册那样保证用户名唯一?
phpcn_u1582
phpcn_u1582 2017-06-28 09:23:08
0
3
848

我认为这么快的判断用户名重复是通过设置用户名字段UNIQUE,然后写入捕获异常来实现的。
但我尝试了一下,发现实际操作起来并没有那么简单,如果要求用户名唯一就去写表看异常,如果重复了可以返回false,但成功的话写入的数据是不完整的,我们真正需要的是将用户提交的注册信息一起写表,我想了一下,这个操作只能通过事务来实现了,通过事务只要不commit,就不会真正的写表,但我们已经得知了表中的这条数据是否冲突,不知我的理解对不对。或者是通过其他的方式来实现的。通过select查询判断对于大量数据来说不合适吧?

phpcn_u1582
phpcn_u1582

全部回复(3)
黄舟

一般不是前端输入完后ajax会去做查询的么?提交的时候插库前再查一遍,做个unique保险一点。

为情所困

根据用户输入的名字到数据库查一下就ok了,有结果就提示已占用,没有结果才能用,如果录入其他信息期间被人先行提交占用再提示被占用就ok了,提示话术斟酌一下即可,这样的概率很低并且也可以接受

学习ing

到数据库查吧

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板