Php 错误:mysqli_num_rows()要求参数1为mysqli_结果
我对php和mysql方面非常陌生,我希望有人能帮助我,我的代码返回错误:mysqli_num_rows()期望参数1是mysqli_result 这是我的密码Php 错误:mysqli_num_rows()要求参数1为mysqli_结果,php,mysql,Php,Mysql,我对php和mysql方面非常陌生,我希望有人能帮助我,我的代码返回错误:mysqli_num_rows()期望参数1是mysqli_result 这是我的密码 $username = $_POST['username']; $password = $_POST['password']; if(isset($username) && isset($password)) { $connect = mysqli_connect("localhost","root","")
$username = $_POST['username'];
$password = $_POST['password'];
if(isset($username) && isset($password)) {
$connect = mysqli_connect("localhost","root","") or die("Couldnt connect!");
mysqli_select_db($connect,"phplogin") or die("Couldnt find DB.");
$query = "SELECT * FROM users WHERE username={$username}";
$numrows = mysqli_num_rows($query);
echo $numrows;
如果有人能帮我解决问题,告诉我我做错了什么,以及我如何能呼出行数,我将不胜感激。函数
mysqli_num_rows
期望结果,您给出了string
在num\u rows之前,必须调用
$result=mysqli\u query($db\u connect,$query)
。然后,您可以使用mysqli\u num\u行($result)统计记录代码>您必须首先实际运行查询,然后才能查看您有多少行:
$query = "SELECT * FROM users WHERE username={$username}";
// Run the query
$result = mysqli_query($connect, $query);
$numrows = 0;
if(!$result)
{
$numrows = mysqli_num_rows($result);
}
记住,如果遇到问题,请访问php.net网站,这是一个帮助的金矿:您实际上没有运行查询;您需要使用$result=mysqli\u query($connect,$query)
来运行它,然后可以对$result调用mysqli\u num\u rows()
。错误消息显示“预期参数1为mysqli\u result”。$query
是否远程看起来像mysqli\u结果
?使用var\u转储($query)代码>将告诉您通过查询传递的内容以及var\u dump($numrows)
Hi ben,在执行您的注释后,它仍然返回一个错误mysqli_num_rows()期望参数1为mysqli_result,给定布尔值,有什么建议吗?我已经更新,看起来您的查询返回了一个空结果集。不过,我发现了我的问题,我使用的是WHERE username={$username},它应该在username='$username'的位置,谢谢你的帮助!