检查电子邮件地址是否已存在,如果是,则显示消息,如果没有则添加到表

时间:2010-06-03 18:33:26

标签: php mysql validation

我希望对此有所了解。

我所拥有的是收集名字,姓氏,城市,州和电子邮件地址的表单。此表单使用jquery验证插件和表单插件。

我想检查电子邮件是否已经存在......如果是,那么请发出一条消息,告诉他们已经存在。

这就是我的update.php脚本,其中表单用于向mysql数据库添加名称:

<?php
$con = mysql_connect("host","username","password");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db("table", $con);

$sql="INSERT INTO wallnames (ID, firstname, lastname, city, state, email)
 VALUES('NULL','$_POST[firstname]','$_POST[lastname]','$_POST[city]','$_POST[state]','$_POST[email]')";

if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
 }

 echo "<p style=\width:350px; height:200px; vertical-align:middle;\><strong>Thank you for adding your info</strong></p>";

mysql_close($con);
?>

1 个答案:

答案 0 :(得分:4)

您应该在电子邮件列中create a unique index,如果您尝试两次插入相同的电子邮件,则插入将失败。

CREATE UNIQUE INDEX ux_wallnames_email ON wallnames (email)

您还可以运行此查询来测试电子邮件是否已存在:

SELECT EXISTS (SELECT NULL FROM wallnames WHERE email = 'test@example.com')

如果电子邮件未使用,它将返回0,如果表中已存在,则返回1.