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

时间:2015-09-01 12:13:43

标签: php mysql

 <?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服务器的代码的文件。

1 个答案:

答案 0 :(得分:0)

你必须迭代获得的结果

 $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';

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