检查数据库中已存在的电子邮件,但当前登录ID的电子邮件除外
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了检查数据库中已存在的电子邮件,但当前登录ID的电子邮件除外相关的知识,希望对你有一定的参考价值。
我想检查数据库表中是否存在电子邮件,不包括当前login_id的电子邮件。我在下面写了一个函数。我不知道如何使用PDO检查来自数据库的电子邮件。
public function updateEmail(passwordDto $password, PDO $connection){
$pass = null;
$pass= $password;
$pass_id = $pass->getId();
$Pass_user_id= $pass->getUser_id();
$pass_email= $pass->getEmail();
$pass_status = $pass->getStatus();
try{
$conn = $connection;
$user_id = $_SESSION['user'];
$sql_email = "select email from tb_password where user_id <> $user_id ";
$email = $conn->prepare($sql_email);
$email->execute();
$emailarray= Array();
while ($result = $email->fetch(PDO::FETCH_ASSOC)) {
$emailarray[] = array('email' => $result['email']);
}
if ( $result['email'] == $pass_email ){
return -1;
}else {
$sql = "update tb_password set email = '".$pass_email."' where user_id= '".$user_id."' AND id= '".$pass_id."' " ;
$conn->exec($sql);
return 1;
}
}catch (Exception $e){
echo $e;
throw $e;
}
}
答案
您可以使用以下命令执行rowcount:
$email->rowCount();
您应该将查询更改为:
SELECT email FROM tb_password WHERE email = $pass_email AND user_id != $user_id
然后,如果rowcount> 0,则电子邮件已存在。
以上是关于检查数据库中已存在的电子邮件,但当前登录ID的电子邮件除外的主要内容,如果未能解决你的问题,请参考以下文章
SQLServer 报错:用户组或角色'XXX' 在当前数据库中已存在. 错误:15023解决方法
Firestore 覆盖 iOS Swift 中已存在的数据