测试是否有没有mysqli准备声明的结果

时间:2013-07-31 19:48:48

标签: php database mysqli prepared-statement

我正在编写登录系统,如果他们输入的用户名不在我的数据库中,我在处理错误方面遇到了一些问题。我开始怀疑这是我准备好的陈述。

当用户提交表单时,我会调用我的检查登录功能,该功能会接收用户信息,对其进行清理,然后使用它来为数据库中的信息提取信息。

我的一些代码:

$db = getConnection();// Function that creates a new mysqli db connection

    if($db->connect_error){
            echo mysqli_connect_error();
            exit();
    }

    $stmt = $db->prepare("SELECT password, client, rootFolder from Users WHERE username = ?");
    //$sanUsername is created from the username that is passed into the function
    $stmt->bind_param('s',$sanUsername);// Binds the sanitized username to the ?
    $stmt->execute();
    $stmt->store_result();
    $num_rows = $stmt->num_rows;

    $stmt->bind_result($pw,$client,$folder);


    if($num_rows > 0){ 
            checkPassword stuff
    }else{
      failedLogin();
    }

我的问题是失败如果用户名不在数据库中,则永远不会调用login()。如果用户名正确但密码不正确,则会调用它。

我认为它必须是我正在做我准备好的陈述的方式,但我无法弄清楚可能导致它的原因。如果没有返回结果,它会突破代码吗?

非常感谢任何帮助!

0 个答案:

没有答案