如何更新和检查pdo中的数据

qeeaahzv  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(367)

我有这个密码
我正在尝试更新用户并首先检查它是否已经存在。我的问题是它也检查自己作为存在的用户。
如何防止在pdo中更新之前将自身检查为现有数据?

try
{
    $stmt = $crud->runQuery("SELECT user_name, user_email FROM tbl_login WHERE user_name=:user_name OR user_email=:user_email");
    $stmt->execute(array(':user_name'=>$user_name, ':user_email'=>$user_email));
    $row=$stmt->fetch(PDO::FETCH_ASSOC);

    if($row['user_name']==$user_name)
    {
        $msg = "<div class='alert alert-danger'>
            <strong>Error!</strong> Username is already taken!
            </div>";
    }
    else if($row['user_email']==$user_email)
    {
        $msg = "<div class='alert alert-danger'>
                <strong>Error!</strong> Email is already taken!
                </div>";
    }
    else
    {
        if($crud->update($edit_id,$user_name,$user_email))
        {
            $msg = "<div class='alert alert-info'>
                <strong>Great!</strong> Record was updated successfully <a href='index.php'>Dashboard</a>!
                </div>";
        }
        else
        {
            $msg = "<div class='alert alert-warning'>
                <strong>SORRY!</strong> ERROR while updating record !
                </div>";
        }
    }
}
catch(PDOException $e)
{
    echo $e->getMessage();
}
tzdcorbm

tzdcorbm1#

就像你想象的那样容易。我不会给你确切的代码,但我会给你逻辑。您不必逐个检查数据条目。我知道你已经知道了。
获取用户名
运行将查找用户名的查询。
检查查询是否返回超过1行。
它返回了不止一行?
如果是,则用户名存在。更新它。
否则,它就不存在了。无需更新。
祝你好运!

相关问题