mysqli_num_rows()期望参数1为mysqli_result错误

时间:2016-01-30 17:28:43

标签: php sql

mysqli_query返回的类型是什么,以及为何无法将其转换为mysqli_result,以便我可以将其传递给{{ 1}}?

我正在创建一个连接到数据库并验证登录凭据的登录页面。我遇到了代码问题,似乎无法弄清楚我遇到错误的原因:

  

警告:mysqli_num_rows()要求参数1为mysqli_result,第8行的....给出布尔值

mysqli_result

2 个答案:

答案 0 :(得分:2)

编写如下代码: -

$result = mysqli_query($conn, "SELECT * FROM Users WHERE email=`$email` AND password= `$password`");
// Here $result retuns true or false. So you don't need to check mysqli_num_rows().
            if($result){         
                echo "Welcome";    
            }
            else{
                echo "Error";
            }

希望它会对你有所帮助:)。

答案 1 :(得分:1)

函数mysql_query在失败时返回FALSE

在php手册中查看更多内容:

http://php.net/manual/en/mysqli.query.php

  

失败时返回FALSE。对于成功的SELECT,SHOW,DESCRIBE或EXPLAIN查询,mysqli_query()将返回一个mysqli_result对象。对于其他成功的查询,mysqli_query()将返回TRUE。

所以,查询本身有问题。

尝试:

"SELECT * FROM Users WHERE email='{$email}' AND password='{$password}'"