0
if(!empty($_POST['email'])) {
    $params = array( ':email' => $email );
    $sql = "SELECT `email` FROM `tablename` WHERE email = :email";
}

else return false;

$stmt = $user->query($sql, $params);
echo ( $stmt->rowCount() > 0 ) ? $exists = false : $exists = true;
if($exists) { header("Location:theurlifemailalreadyexists");  };

警告:PDOStatement::execute() [pdostatement.execute]: SQLSTATE[42000]: 语法错误或访问冲突:1064 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取正确的语法,以便在第 87 行* *的第 1 行的“@gmail.com”附近使用

我怎样才能让它停止扔那个东西?它每次都将它扔到电子邮件地址。

4

1 回答 1

3

这是什么?

 SELECT `email` FROM `tablename` WHERE email = {$user->secure($_POST['email'])}
                                               ^

这应该是

SELECT `email` FROM `tablename` WHERE email = :email

由于您要替换的参数是 :email

$params = array( ':email' => $email );
于 2013-10-17T07:57:17.987 回答