0

我正在尝试从一个唯一的邀请代码链接注册用户,该链接会根据他们的电子邮件地址进行检查。在注册时,我正在检查他们发布的电子邮件地址是否与我们存储在数据库中的电子邮件相匹配。一切似乎都运行良好,我已经验证了发送到检查功能的电子邮件和代码,但由于某种原因,这不断返回错误。我在这里想念什么?

public function CheckEmail($email, $code, $db) 
    {

        $query = $this->db->prepare("SELECT 'email' FROM `userlogin` WHERE `code`= ?");
        $query->bindValue(1, $code, PDO::PARAM_STR);

        try
        {

            $query->execute();
            $data = $query->fetch();
            $confirmEmail = $data['email'];


            if($confirmEmail == $email)
            {
            return true;
            }

            else
            {
            return false;
            }

        } 

        catch (PDOException $e)
        {
            die($e->getMessage());
        }

    }
4

2 回答 2

1

你可能想要

"SELECT `email` FROM `userlogin` WHERE `code`= ?"

您将电子邮件用单引号而不是反引号括起来,因此您实际上是在选择email要比较的文本

于 2013-10-29T22:26:55.557 回答
0

也许检查它们是否具有相同的数据类型?此外,如果您有 phpmyadmin,请尝试手动运行查询以查看它返回的内容。您可能会惊讶地发现您没有得到预期的结果。

于 2013-10-29T22:28:03.720 回答