mysqli_query
返回的类型是什么,以及为何无法将其转换为mysqli_result
,以便我可以将其传递给{{ 1}}?
我正在创建一个连接到数据库并验证登录凭据的登录页面。我遇到了代码问题,似乎无法弄清楚我遇到错误的原因:
警告:mysqli_num_rows()要求参数1为mysqli_result,第8行的....给出布尔值
mysqli_result
答案 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}'"