【发布时间】:2014-03-08 21:50:56
【问题描述】:
所以我很困惑为什么我检查数据库中是否已经存在电子邮件的功能不起作用......也许这里有人可以帮助我!无论我做什么,它都会返回 false,我不知道为什么。下面的这个函数在一个名为 classes.php 的文件中。是的,classes.php 与包含数据库连接代码的文件一起包含在 activate.php 中。
public function emailExists($email) {
$query = $this->db->prepare('SELECT `email` FROM `users` WHERE `email` = ?');
$query->bindValue(1, $email);
try {
$query->execute();
if ($query->fetchColumn() === 1) {
return true;
}
else {
return false;
}
}
catch (PDOException $e) {
die ($e->getMessage());
}
}
下一段代码在一个名为 activate.php 的文件中
$email = $_GET['email']; // Gets email from URL
if ($users->emailExists($email) === false) {
$errors[] = 'Sorry, that email address doesn\'t exist.';
}
【问题讨论】:
-
试试:if ($query->fetchColumn() == $email)
-
^ 为什么我没想到那个 LOL。那解决了它!非常感谢!