【发布时间】:2013-03-05 18:00:25
【问题描述】:
我是 PHP 新手,我正在尝试创建一个系统,用户将在其中添加名字、姓氏和电子邮件地址。基本上我要做的是验证电子邮件是否已经存在于数据库中。
已经工作了几个小时,但它不起作用。但是当我尝试验证名字和姓氏时,它们都有效。
但是对于电子邮件字段...代码无法比较是否存在重复值。数据库中有很多重复的电子邮件 ID,但代码会忽略它并插入值:/。同时,如果我尝试验证重复的名字和姓氏,它可以工作
请帮忙:(
$firstname=$_POST['firstname'];
$lastname=$_POST['lastname'];
$email=$_POST['email'];
$firstname= stripslashes($firstname);
$lastname= stripslashes($lastname);
$email= stripslashes($email);
$host="localhost";
$user="root";
$pass="";
$db="site";
$link=mysql_connect($host,$user,$pass);
mysql_select_db($db,$link);
$test="SELECT * FROM email_list WHERE email = '$email' ";
$select=mysql_query($test);
if(mysql_num_rows($select)>0)
{
echo "Email already exists".$email."<br>";
echo "Please enter another email";
}
else
{
$query="INSERT into email_list (first_name, last_name, email) values ('$firstname', '$lastname', '$email')";
mysql_query($query);
echo "values entered" .$firstname. "<br>". $lastname. "<br>". $email;
}
【问题讨论】:
-
不确定这是否是问题所在,但请尝试
WHERE email='$email'而不是WHERE email = '$email'。 -
不鼓励在 PHP 中使用
mysql_*函数,而建议使用 PDO 或 MySQLi (find out why)。 -
嗨。您能否在您的数据库定义中发布 - CREATE TABLE email_list (...) 命令?
标签: php mysql sql email-validation