首页 > 解决方案 > 此代码适用于 mysql 5.7 及更低版本,但不适用于当前版本。它总是选择最后一个 else 语句

问题描述

此代码适用于低于 5.7 的旧版本 mysql,但不适用于当前版本。它总是选择最后一个 else 语句。请问代码有什么问题吗。

    if($action == 'login')
    {           
        $login_id = strip_tags($_POST['login-id']);
        $security_code = strip_tags($_POST['security-code']);
        $check_login = $db->prepare("SELECT COUNT(*) AS rows FROM login WHERE login_id = ?  AND security_code = ?");
        $check_login->execute(array($login_id, $security_code));
            
        $data = $check_login->fetch();
        $rows = $data['rows'];
            
        if($rows > 0 )
            {
                $query = $db->prepare('SELECT * FROM login WHERE login_id = ? AND security_code = ?');
                $query->execute(array($login_id, $security_code));
                $data = $query->fetch();
                $login_id = $data['login_id'];
                            
                $_SESSION['login_id'] = $login_id;
                
                if($login_id == 'admin' or $login_id == 'webmaster')
                {
                    $_SESSION['admin'] = true;
                    header("Location:../control-panel.php");
                    exit;
                }
                else
                
            }
            else
            {
                header('Location:../index.php?m=invalid');
    }

标签: phpsqlpdo

解决方案


推荐阅读