Php 我无法将我的密码与md5数据库密码进行比较

Php 我无法将我的密码与md5数据库密码进行比较,php,md5,Php,Md5,我正在尝试将我的登录密码与数据库md5密码进行比较,但无法进行比较。我也使用md5创建了我的登录密码,但仍然存在问题。。请帮助我,我是PHP新手。 $username = $_POST['username']; $password = $_POST['password']; $pass =md5($password); if ($username&&$password) { $connect = mysqli_connect("localhost", "root", "pixst

我正在尝试将我的登录密码与数据库md5密码进行比较,但无法进行比较。我也使用md5创建了我的登录密码,但仍然存在问题。。请帮助我,我是PHP新手。
$username = $_POST['username'];
$password = $_POST['password'];
$pass =md5($password);
if ($username&&$password)
{
$connect = mysqli_connect("localhost", "root", "pixster")or die("Couldn't connect to database!");
mysqli_select_db($connect,'rdb') or die ("Couldn't find database");
echo "successfully connected to database<br>";
$query = mysqli_query($connect,"SELECT * FROM login WHERE uname ='$username'");
$numrows=mysqli_num_rows($query);
if($numrows!==0)
{
   while($row = mysqli_fetch_assoc($query))
   {
   $dbusername = $row['uname'];
   $dbpassword = $row['password'];
   $dbusername;
   $dbpassword;
   }

    if($username==$dbusername&& $pass==$dbpassword)
    {
       include('logprofile.php');
       echo "you are logged in!";
       //$_SESSION['abc'] = $username;


    }else

    echo "your password is wrong";
$username=$\u POST['username'];
$password=$_POST['password'];
$pass=md5($password);
如果($username&&$password)
{
$connect=mysqli_connect(“localhost”、“root”、“pixster”)或die(“无法连接到数据库!”);
mysqli_选择_db($connect,'rdb')或die(“找不到数据库”);
echo“成功连接到数据库
”; $query=mysqli_query($connect,“从uname='$username'的登录名中选择*); $numrows=mysqli\u num\u行($query); 如果($numrows!==0) { while($row=mysqli\u fetch\u assoc($query)) { $dbusername=$row['uname']; $dbpassword=$row['password']; $dbusername; $dbpassword; } 如果($username==$dbusername&&$pass==$dbpassword) { 包括('logprofile.php'); echo“您已登录!”; //$\会话['abc']=$username; }否则 回显“您的密码错误”;
请尝试
如果($numrows!=0)
而不是
如果($numrows!==0)
试试这个

    while($row = mysqli_fetch_assoc($query))
       {
       $dbusername = $row['uname'];
       $dbpassword = $row['password'];
       }
删除循环中的以下行:

 $dbusername;
 $dbpassword;
试试这个:

$username = $_POST['username'];
$password = $_POST['password'];
$pass =md5($password);
if ($username&&$password)
{
$connect = mysqli_connect("localhost", "root", "pixster")or die("Couldn't connect to database!");
mysqli_select_db($connect,'rdb') or die ("Couldn't find database");
echo "successfully connected to database<br>";
$query = mysqli_query($connect,"SELECT * FROM login WHERE uname ='$username'");
$numrows=mysqli_num_rows($query);
if($numrows > 0)
{
   while($row = mysqli_fetch_assoc($query))
   {
   $dbusername = $row['uname'];
   $dbpassword = $row['password'];
   }

    if($username==$dbusername && $pass==$dbpassword)
    {
       include('logprofile.php');
       echo "you are logged in!";
       //$_SESSION['abc'] = $username;


    }else

    echo "your password is wrong";
$username=$\u POST['username'];
$password=$_POST['password'];
$pass=md5($password);
如果($username&&$password)
{
$connect=mysqli_connect(“localhost”、“root”、“pixster”)或die(“无法连接到数据库!”);
mysqli_选择_db($connect,'rdb')或die(“找不到数据库”);
echo“成功连接到数据库
”; $query=mysqli_query($connect,“从uname='$username'的登录名中选择*); $numrows=mysqli\u num\u行($query); 如果($numrows>0) { while($row=mysqli\u fetch\u assoc($query)) { $dbusername=$row['uname']; $dbpassword=$row['password']; } 如果($username==$dbusername&&$pass==$dbpassword) { 包括('logprofile.php'); echo“您已登录!”; //$\会话['abc']=$username; }否则 回显“您的密码错误”;
我得到了这个问题的答案。有一个数据库问题,我的密码长度比md5转换的密码短。所以我只是增加了长度。现在两个密码都匹配了,我可以登录了。

md5不再是存储密码的安全加密在db connect中发布真实的根密码吗???plz告诉我你面临的实际问题是什么,你会遇到什么类型的错误?@是的,他有。但这并不重要,因为你无论如何都无法访问他的根。它是本地的。是的,我可以连接到我的数据库。事实上,if语句是不必要的。你可以改为编写while语句