Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 错误:mysqli_num_rows()要求参数1为mysqli_结果_Php_Mysql - Fatal编程技术网

Php 错误:mysqli_num_rows()要求参数1为mysqli_结果

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","")

我对php和mysql方面非常陌生,我希望有人能帮助我,我的代码返回错误:mysqli_num_rows()期望参数1是mysqli_result

这是我的密码

$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'的位置,谢谢你的帮助!