登录PHP会不断返回无效的用户名或密码,即使字段正确?

登录PHP会不断返回无效的用户名或密码,即使字段正确?,php,mysqli,Php,Mysqli,所以基本上,当我在表单上按login时,即使我的用户名和密码在输入字段中是正确的,我仍然会得到无效的用户名或密码错误。我不确定如何解决这个问题,因为我的代码中的所有内容看起来都是正确的。我如何修复此问题以便登录?代码如下: 谢谢你花时间帮忙 而不是这个: if ($username == $row['$username'] && $password == $row['password']) 试试这个: if ($username == $row['username'] &am

所以基本上,当我在表单上按login时,即使我的用户名和密码在输入字段中是正确的,我仍然会得到无效的用户名或密码错误。我不确定如何解决这个问题,因为我的代码中的所有内容看起来都是正确的。我如何修复此问题以便登录?代码如下:

谢谢你花时间帮忙

而不是这个:

if ($username == $row['$username'] && $password == $row['password'])
试试这个:

if ($username == $row['username'] && $password == $row['password'])
您很可能试图从数据库中获取无效列
$row['$username']

if(while循环内的条件)需要什么。?仅在sql查询中检查您的条件

.
.
.
$username = $_POST["username"];
$password = $_POST["password"];
$result = mysqli->query("SELECT * FROM users WHERE username='$username' AND password='$password'");
$CountResult=mysql_num_rows($result);
if($CountResult==1)
{
  while($row = $result->fetch_assoc())
  {
      $regKey = $row['regKey'];
      $_SESSION["reg"] = $regKey;
      die("YOU DID IT");
  }
}
else
{
   $mysqli->close();
   die("Error, invalid username or password");
}
.
.
.

是的,正如HawasKaPujaari所说,您试图获取一个无效列

但是,我认为您的会话可能会有一些问题,您需要初始化,如下所示:

@session_start();
在此之前:


祝你好运

你有一个用户名的记录吗?当这个变量为$row['$username']、$row['password']时,尝试打印,并告诉我输出是什么;在whileSql注入警告中注释if和else。您也在使用mysqli,这很好,只需执行最后一步并绑定查询即可。另外,您正在对密码进行哈希运算吗?请帮你自己和你的用户一个忙,把密码散列出来。我在你网站上的用户名@AbsoluteZero将是
;删除数据库;--。谢谢!我只是有点问题。@AbsoluteZero不客气!如果我的回答有效,请接受=PSql注入现在非常正常。若计数结果为1且用户名和密码匹配,为什么需要提取数据。???
@session_start();
$_SESSION["reg"] = $regKey;