我正在尝试为具有以下字段的注册表编写代码。姓名、电子邮件地址、出生日期、地址等。如果新参赛者的姓名和电子邮件地址与
相符
现有的,它应该要求提供另一个姓名和电子邮件。
我使用了以下代码。
<?php
$sel = "SELECT `varEmail`, `intStudentId` FROM `tbl_registration` WHERE `varEmail` = '".$emailaddress."' AND `intStudentId` <> '".$Id."' ";
$res = mysql_query($sel);
if(mysql_num_rows($res) >0)
{ ?>
<h3 style="color:#FF0000; text-align:center;">The Email Address and name already exists. Please mention different one.</h3>
<?php
}
else
{
$insertstudent="INSERT INTO `tbl_registration` (
`varFname` ,
`varLname` ,
`varAddress` ,
`varGender` ,
`intDOB` ,
`varEmail`
)
VALUES (
'".$fname."', '".$lname."', '".$address."', '".$gender."', '".$DOB."', '".$emailaddress."'
);";
$insert_res = mysql_query($insertstudent);
}
?>
但它只检查电子邮件重复。如何修改我的代码以检查姓名和电子邮件重复?
最佳答案
应该检查哪个名称字段? fname、lname 或两者兼而有之?
名字:
$sel = "SELECT `varEmail`, `intStudentId` FROM `tbl_registration` WHERE (`varEmail` = '".$emailaddress."' OR `varFname` = '".$fname."') AND `intStudentId` <> '".$Id."' ";
姓氏:
$sel = "SELECT `varEmail`, `intStudentId` FROM `tbl_registration` WHERE (`varEmail` = '".$emailaddress."' OR `varLname` = '".$lname."') AND `intStudentId` <> '".$Id."' ";
对于两者:
$sel = "SELECT `varEmail`, `intStudentId` FROM `tbl_registration` WHERE (`varEmail` = '".$emailaddress."' OR (`varLname` = '".$lname."' AND `varFname` = '".$fname."')) AND `intStudentId` <> '".$Id."' ";
关于php - 检查mysql中表单值的重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8849884/