报错:SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry ‘admin’ for key ‘username’…

报错:SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry ‘admin’ for key ‘username’…

在提交注册信息的时候报错:SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry ‘admin’ for key ‘username’

原因:主键冲突  违反完整性约束 字段唯一索引

 报错:SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'admin' for key 'username'...

 

从上图可以看出,用户名和邮箱必须唯一,如果填入重复的用户名或者邮箱就会出错

解决方法:在控制器里面进行判断

$data = input('post.');
$uniquename = model('User')->get(['username'=>$data['username']]);
if(sizeof($uniquename)){
$this->error('该用户名已经注册,请重新填写~~~');
}
$uniqueemail = model('User')->get(['email'=>$data['email']]);
if(sizeof($uniqueemail)){
$this->error('该邮箱已经注册,请重新填写~~~');
}

添加上面代码之后,如果填写了重复的用户名或者密码就会给用户相关提示~~~

对了,上面的代码是在TP5上写的。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/112312.html原文链接:https://javaforall.net

(1)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 软件工程导论各种图_软件工程第一章思维导图

    软件工程导论各种图_软件工程第一章思维导图1、E-R图E-R图也是实体-联系图,E-R图属于需求分析的一部分,为了把用户的数据要求清楚、准确地描述出来,系统分析员通常建立一个概念性的数据模型。下面介绍E-R图的画法E-R图由数据对象(实体)、属性、联系三部分组成。通常用矩形框代表实体、用菱形框表示关系,用椭圆形或圆角矩形表示实体(或关系)的属性。例如:2、N-S图出于要有一种不允许违背结构程序设计精神的图形工具的考虑,提出了盒图,又称N-S图。盒图的表示方法有:盒图没有箭头,因此不允许随意转移控制。(

    2022年8月13日
    11
  • 【spring】事务

    【spring】事务【spring】事务

    2022年4月25日
    40
  • Juniper发展史

    Juniper发展史

    2022年3月11日
    52
  • IT人力外包越来越流行的原因剖析[通俗易懂]

    IT人力外包越来越流行的原因剖析[通俗易懂]近年来,互联网快速深入我们生活工作的每个角落,it人才成为各大企业争先抢夺的香饽饽,而通过it人力外包引进互联网软件人才已经成为一种趋势,那么越来越多的企业选择与it人力外包公司合作的原因是什么呢?首先选择与it人力外包公司合作,用人单位不需要聘请专门人员或者成立专门部门对it外包人员进行人力资源管理,这些it外包人员的聘用、工资、奖金的发放、社会保险等都是由it人力外包公司负责完成,这使得企业有更多的精力来经营其他业务。其次,it人力外包的用人方式非常灵活,可以化解人员编制限制与业务快速.

    2022年5月19日
    52
  • 为何把2点半比作是神奇的2点半? 为什么炒股的人叫14:30分,叫神奇的2点[通俗易懂]

    为何把2点半比作是神奇的2点半? 为什么炒股的人叫14:30分,叫神奇的2点[通俗易懂]为何把14:30分称作神奇的2点半?为什么炒股的人叫14:30分,叫神奇的2点半?这个得从头开始说起!第一个是早盘:9:30-9:50,请一般散户不要参与!这是主力展示盘口语言的时间段,自认为水平

    2022年7月1日
    30
  • python中for循环的用法1+2+3…+50的和_python结束for循环

    python中for循环的用法1+2+3…+50的和_python结束for循环1.一般格式range(stop)#0~stop-1range(start,stop)#start~stop-1range(start,stop,step)#start~stop-1,step表示步长注:Python中break,continue的用法与C中一致2.在enumerate中的用法enumerate()(单词意思是枚举的意思)是python中的内置函数,enumera

    2022年8月12日
    17

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号