Php “从user='username'和pass='password'”所在的人员中选择*——为什么这个mysql语句是布尔型的

Php “从user='username'和pass='password'”所在的人员中选择*——为什么这个mysql语句是布尔型的,php,mysql,Php,Mysql,我是PHP和MySQL的初学者 我正在尝试创建一个有用户的基本网站。现在,我正在创建登录页面,并使用以下两行代码,其中mysqli_fetch_数组只是为了查看是否存在用户为$_POST['user']和传递为$_POST['pass']的情况: 当出现错误时 警告:mysqli_fetch_数组期望参数1是mysqli_结果,布尔值在第65行的D:\xampp1.8.3\htdocs\hkmchat\default.php中给出 为什么这个语句是布尔型的?我在同一个脚本中多次使用mysqli_

我是PHP和MySQL的初学者

我正在尝试创建一个有用户的基本网站。现在,我正在创建登录页面,并使用以下两行代码,其中mysqli_fetch_数组只是为了查看是否存在用户为$_POST['user']和传递为$_POST['pass']的情况:

当出现错误时

警告:mysqli_fetch_数组期望参数1是mysqli_结果,布尔值在第65行的D:\xampp1.8.3\htdocs\hkmchat\default.php中给出

为什么这个语句是布尔型的?我在同一个脚本中多次使用mysqli_fetch_数组和非常类似的查询进行其他验证,但没有一个返回类似的结果

我知道有很多,但我还没有找到一个能回答这个问题的。如果你能给我一个好的答案或回答这个问题,我将不胜感激


谢谢。

您的查询失败,返回了一个假值

把这个放在mysqli_查询之后,看看发生了什么

if (!$query) {
    printf("Error: %s\n", mysqli_error($con));
    exit();
}
了解更多信息


请始终尝试打印查询,在执行之前,您应该这样做:

while($res = mysqli_fetch_array($query)){
   echo $res['user'];
   //Etc...
}
如果不将其设置为变量,代码将返回布尔值

变量$res[]是一个数组,包含找到的行的所有字段


此外,您的代码可能会被SQL注入,因此很危险,请参阅本文:

mysqli\u错误会告诉您原因。危险:您很容易受到SQL注入的影响,您需要学习如何从中学习。在浏览器中键入,单击执行语句,然后查看任何示例。哦,这是一个愚蠢的错误,上面写着“编码”$_发布['pass']。,'“密码”我没有在“密码”gr8周围加引号,然后接受答案,如果它对你有帮助的话。
while($res = mysqli_fetch_array($query)){
   echo $res['user'];
   //Etc...
}