为了账号安全,请及时绑定邮箱和手机立即绑定

PHP检查数据库中是否已存在电子邮件

PHP检查数据库中是否已存在电子邮件

PHP
尚方宝剑之说 2021-05-05 17:30:35
我正在使用登录系统制作一个网站。当用户想要注册并输入他的电子邮件时,MySQL数据库中应该已经不存在该电子邮件了。我正在尝试通过准备好的语句来编写代码。当用户输入数据库中已经存在的电子邮件时,我希望它将用户发送到具有标头功能的同一注册页面,但出现某种错误。我试图将行数存储在名为$ resultcheck的变量中,并检查是否有相同的电子邮件大于0的列(如果已经存在)。这是代码:$query = "SELECT * FROM users WHERE Mail=?;";        $stmt = mysqli_stmt_init($conn);        if(!mysqli_stmt_prepare($stmt, $query))        {            header("Location: ../registrering.php?error=sqlerror");            exit();        }        else        {            mysqli_stmt_bind_param($stmt, "s", $mail);            mysqli_stmt_execute($stmt);            mysqli_stmt_store_result($stmt);            $resultCheck = mysqli_stmt_num_rows($stmt);            if($resultcheck > 0)            {                header("Location: ../registrering.php?error=emailtaken");                exit();            }            else {...}但是,当我提交了一个数据库中已有电子邮件的帐户时,我成功地在表用户中输入了另一列,并且同一电子邮件中有多个列。
查看完整描述

2 回答

?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

您正在分配$resultCheck,然后测试另一个$resultcheck始终为0的变量。

因此,您的错误是变量命名中的错别字。


查看完整回答
反对 回复 2021-05-21
?
慕码人8056858

TA贡献1803条经验 获得超6个赞

除了使用SELECT SQL进行检查之外。您应该将mysql中的列设置为unique。参见https://www.w3schools.com/sql/sql_unique.asp


查看完整回答
反对 回复 2021-05-21
  • 2 回答
  • 0 关注
  • 207 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信