PHP:无法从mySql数据库中找到行

时间:2016-02-15 12:23:43

标签: php mysql mysqli

我是PHP和mysql的新手。我试图建立一个登录系统,但我已经陷入困境,无法弄清楚我做错了什么。

我让它工作了一次,但后来又添加了一些功能,现在我不能让它继续工作了。这是代码:

<?php
session_start();
error_reporting(E_ALL ^ E_NOTICE ^ E_ERROR ^ E_WARNING);
require('./pages/connections.php');

if ($con){   
  if($_SERVER["REQUEST_METHOD"] == "POST")
  {

    mysqli_set_charset($con,"utf8");
    $username=mysqli_real_escape_string($con,$_POST['username']);
    $password=mysqli_real_escape_string($con,$_POST['password']);

    $sql_query="SELECT Username FROM user WHERE Username='$username' and Password='$password'";
    $result=mysqli_query($con,$sql_query);
    $row=mysqli_fetch_array($result,MYSQLI_ASSOC);
    $count=mysqli_num_rows($result);
    if($count == 1)
    {
      $_SESSION['login_user']=$username;

      header("location: home.php");
    }
    else
    {
      echo '<div class="center-block" name="errormsgphp" id="errormsgphp">Invalid username or password.</div>';
    }
  }
}
else 
  echo '<div class="center-block" name="errormsgphp" id="errormsgphp">Error with database connection.</div>';
?>

它一直把我扔到if($count == 1) aka的else循环中。无法从数据库中找到对吗?

我几乎100%确定数据库格式正确并正常工作,因为我可以在那里注册用户,并且我的登录工作只是提前一点。 如果有人能发现我的错误,那么我会很高兴!提前谢谢。

2 个答案:

答案 0 :(得分:0)

尝试这样我希望这会对你有所帮助

$sql = "SELECT email, password, status FROM agent_register WHERE email='".$email_input."' && password='".$password_input."' && status = 1 ";
    $result = mysql_query($sql);
    $row = mysql_num_rows($result);
    if($row > 0){
        $details = mysql_fetch_assoc($result);
        $_SESSION['flag'] = true;   
        echo "<pre>"; print_R($details);
    }

答案 1 :(得分:0)

好的,

我现在开始工作,但绝对不知道出了什么问题。我只是将ctrl + z保留回来,以至于我找到了之前正在运行的部分。唯一的区别是我使用较早的if($count==1)代替if($count == 1)。也许就是那个或者我的xampp正在弄乱我或者什么......但仍然感谢所有回复!