PHP不会检查变量是否与mysql行的一部分匹配


PHP won't check to see if a variable matches a part of a mysql row

 <?php
include "config.php";
?>
<?php 
    $username = $_POST['username'];
    $password = $_POST['password'];
?>
<?php
    $sql = "SELECT username FROM usr";
    $resultuser = $conn->query($sql); 
    $conn->close();

    $sql = "SELECT password FROM usr";
    $resultpass = $conn->query($sql);
    $conn->close();
?>
<?php
if ($resultuser == $username) {
    if($resultpass == $password) {
        echo "test";
    } else {
        echo "Wrong user or pass"   ;
    }
}

?>

Php不会向mysql发送查询来检查变量(用户名和密码)是否与我的mysql数据库中的一行匹配。我不知道还能做什么另外,config.php是包含连接到我的mysql服务器的代码的文件。

您必须将获得的结果迭代为

 $result = $conn->query($sql);
 $resultUser= "";
 if ($result->num_rows > 0) {
     // output data of each row
     while($row = $result->fetch_assoc()) {
        $resultUser =$row['username ']; 
    }
 } 

你做错了。为了检查用户名和密码在哪里匹配,数据库条目应该像这样:

select * from user_table 
where username = 'pass_the_user_name' and password='user_password';

如果返回一行,则表示这是一个有效的用户,否则是无效的凭据或其他。