目前我必须使用 2 个查询来检查数据库是否已经包含电子邮件或 IP。
我现在的代码:
$link = $db->prepare("SELECT * FROM users WHERE email=?");
if($link->execute(array($login))){
if($link->rowCount() > 0){
$errmsg_arr[] = 'Email is already in use';
$errflag = true;
}
}
$link = $db->prepare("SELECT * FROM users WHERE Ip=?");
if($link->execute(array($ip))){
if($link->rowCount() > 0){
$errmsg_arr[] = 'There is allready account registered with this IP address';
$errflag = true;
}
}
如果我使用此查询,是否有办法检查电子邮件或 IP 是否已使用以及如何操作?
$link = $db->prepare("SELECT * FROM users WHERE email=? OR Ip=?");
编辑:要清楚,我想给出 2 个不同的错误,而不是告诉用户“电子邮件或 IP 已在使用中”
if($link->execute(array($login, $ip))){
// WHAT HERE?
// CHECK IF EMAIL IS ON USE
$errmsg_arr[] = 'Email is already in use';
//CHECK IF IP IS USED
$errmsg_arr[] = 'There is allready account registered with this IP address';
$errflag = true;
}
那么,这可能只需要 1 个查询吗?
我想尽量减少查询的使用。
谢谢