报名表:电子邮件检查问题

时间:2015-08-30 16:06:48

标签: php email server registration

我在实现注册表时遇到问题。我的php脚本应检查用户电子邮件是否已被使用。 如果电子邮件正在使用中,php脚本应显示错误消息,如果不是注册成功完成。

$email = $_POST['email'];       
  try{            
        $sql = "SELECT count(mail) FROM user WHERE mail = '$email'";            
        $result = $pdo->exec($sql);        
  }catch(PDOException $e){            
      echo $e;            
      exit();        }
  if($result == 0){            
     //registration complete        }
  else{            
      //email already in use        } 

我的问题是,如果电子邮件已经在数据库中,我也总是获得0。但是,如果我在我的xampp'服务器中执行该sql代码,我获得1,这样代码就能完美运行。

感谢所有人的帮助:)

1 个答案:

答案 0 :(得分:1)

你需要这样做:

$email = $_POST['email'];       
  try{            
        $sql = "SELECT mail FROM user WHERE mail = :email";   
        $sql = $pdo->prepare($sql);
        $sql->execute(array(':email'=> $email));       
  }catch(PDOException $e){            
      echo $e;            
      exit();        }
  if($sql->rowCount() == 0){            
     //registration complete        }
  else{            
      //email already in use        }