Php 检查电子邮件地址是否已经存在,如果已经存在,则显示消息,如果不存在,则添加到表中
我希望能对此有所了解 我有一张表格,上面有名字、姓氏、城市、州和电子邮件地址。此表单使用jquery验证插件和表单插件 我想检查电子邮件是否已经存在。。。如果是这样的话,那么就吐出一条信息,告诉他们他们已经存在了 这是我的update.php脚本的内容,其中表单if用于向mysql数据库添加名称:Php 检查电子邮件地址是否已经存在,如果已经存在,则显示消息,如果不存在,则添加到表中,php,mysql,validation,Php,Mysql,Validation,我希望能对此有所了解 我有一张表格,上面有名字、姓氏、城市、州和电子邮件地址。此表单使用jquery验证插件和表单插件 我想检查电子邮件是否已经存在。。。如果是这样的话,那么就吐出一条信息,告诉他们他们已经存在了 这是我的update.php脚本的内容,其中表单if用于向mysql数据库添加名称: <?php $con = mysql_connect("host","username","password"); if (!$con) { die('Could not connect: '
<?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);
?>
您应该在“电子邮件”列中选择,如果您尝试插入同一封电子邮件两次,则插入将失败
CREATE UNIQUE INDEX ux_wallnames_email ON wallnames (email)
您还可以运行此查询以测试电子邮件是否已存在:
SELECT EXISTS (SELECT NULL FROM wallnames WHERE email = 'test@example.com')
如果电子邮件未使用,则返回0;如果表中已存在,则返回1。是否确实要将的“NULL”作为字符串插入?这不应该是NULL
?说实话,我对这些东西有点新鲜,看到了一个例子,就把它插进去了。它似乎正在与之合作。如果我删除NULL。。。我得到了一个错误标记-我也不太确定我是否完全理解如何添加唯一的indexIt,如果您希望值为NULL,除非您希望使用“NULL”一词,否则不带引号的indexIt应该为NULL。如果您使用的是Mysql,那么应该单击一个按钮,使字段成为唯一索引。如果没有,就用马克写的。@Matthew:你还应该注意,你所做的很容易受到SQL注入攻击。很抱歉,如果这听起来太多的工作,但我建议你放弃任何教程/示例网站,而是从一个可靠的来源学习,教好的做法。从长远来看,你会为自己节省很多时间。查看此线程以了解从何处开始的一些想法:@Mark。。。谢谢你的洞察力。我会看一看,并确保这得到了正确的方式。