加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

防止在php / mysql中重复插入行

发布时间:2020-12-13 18:28:47 所属栏目:PHP教程 来源:网络整理
导读:你如何防止在php mysql中输入重复记录?在插入表之前验证输入. 我目前正在为我的网站构建用户注册部分,但如果在数据库中找到重复的用户名或电子邮件地址,则希望向他们显示错误. 编辑 这就是我要插入行的方法……我将如何在这里实现这两个答案: ?php if (arr
你如何防止在php mysql中输入重复记录?在插入表之前验证输入.

我目前正在为我的网站构建用户注册部分,但如果在数据库中找到重复的用户名或电子邮件地址,则希望向他们显示错误.

编辑
这就是我要插入行的方法……我将如何在这里实现这两个答案:

<?php
        if (array_key_exists('confirm',$_POST)) {

                $Cuser = $_POST['Cuser']; 
                $Cemail = $_POST['Cemail']; 
                $Cpassword = $_POST['Cpassword'];
                $md5password = md5($_POST['Cpassword']);

                mysql_query("INSERT INTO tbl_users (`username`,`email`,`password`)
VALUES ('$Cuser','$Cemail','$md5password')"); 

                echo "Thank you. The user <b>".$Cuser."&nbsp;(".$Cemail.")</b> has been successfully added to the database.<p>

                <a href='myaccount.php' class='form'>Return</a>";       

                exit;
        }
        ?>

我猜我可以在if … else语句中实现它吗?

为用户名和电子邮件列定义唯一约束:
ALTER TABLE your_table ADD CONSTRAINT uk_username UNIQUE (username)
ALTER TABLE your_table ADD CONSTRAINT uk_email UNIQUE (email)

如果表中已存在试图插入或更新的值,MySQL将返回错误,指出查询违反了相应的唯一约束(可能两者).由您来设置PHP来优雅地处理这个问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读