num_rows与functionallity有关

时间:2017-10-30 15:40:22

标签: php mysql

使用“登录”,“注册选项”执行项目,但遇到登录配置文件的问题。

在电子邮件,密码字段中输入正确的数据后,它不会回显成功文本,但会回显不正确的用户名或密码。

从我看到if($st->num_rows() == 1){ migt成为问题但似乎无法找到解决方法。

public function Login($Email, $Password){
        if(!empty($Email) && !empty($Password)){

            $st = $this->db->prepare("SELECT * FROM usertable WHERE Email=? and Password=?");
            $st->bind_Param("ss", $Email,$Password);
            //$st->bindParam(2, $Password);

            $st->execute();



            if($st->num_rows() == 1){
                    echo 'Login Was Sucessfull';
                        header('Location: Success.php');
            }else {

                 echo 'Incorrect Username Or Password';
            }
        }else {
         echo '<script type="text/javascript">alert("Please Enter Username or Password");</script>';
        }


}

1 个答案:

答案 0 :(得分:0)

您使用$st->num_rows() == 1检查结果,因此您的登录尝试只有在您只有一个结果时才有效,如果您有相同的用户名/密码组合,请检查您的数据库,或者您可以改用$st->num_rows() > 0

另请注意,如果已输出任何内容,例如echo 'Login Was Sucessfull';

,则php标头不起作用