无法使用php登录数据库

时间:2016-03-30 13:47:16

标签: php mysql

这是我的登录php代码,但我无法登录。 我的代码一直工作到echo "2",此后不再有效。

include 'inc.config.php';
if(isset($_POST["submit"]))
{
    $user = mysql_real_escape_string($_POST['emailid']);
    $pass = md5(mysql_real_escape_string($_POST['password']));
    $query=mysql_query("SELECT * FROM logsignup WHERE email='$user' AND password='$pass' ");

    echo "1";

    $numofrows = mysql_num_rows($query);

    echo "2";

    if($numofrows!=0)     
    {
        echo "3";

        while($row=mysql_fetch_assoc($query))
        {
            $dbusername= $row['emailid'];
            $dbpassword= $row['password'];
        }

        if($user=$dbusername && $pass=$dbpassword)
        {
            echo "loggedin";
        }
    }
    else
    {
        echo "invalid";
    }
}

这是inc.config.php文件

$con = mysql_connect("localhost","root","");
$select=mysql_select_db("loginsignup");

数据库图片:

Image of the database

2 个答案:

答案 0 :(得分:2)

  

如果从数据库中获取的值与我放入数据库的值相同。

这是毫无意义的,这是一个不必要的过度检查。最好计算返回的正确行数,这将告诉您完全相同的信息。

  • 您需要开始使用错误记录,以帮助自己解决自己的错误,请阅读How to get useful error messages in PHP?

  • 还可以在(PHPMyAdmin)中使用MySQL EXPLAIN来帮助您理解任意的SQL查询。

  • 屏幕截图中的password字段看起来太短了。 md5通常为32个字符,因此可能发生的情况是SQL比较失败,因为您将长字符串与较短的字符串进行比较。再检查一遍。

  • 确保在整个PHP和MySQL中使用正确的字符编码,请阅读UTF-8 all the way through并将所有MySQL转换为utf8mb4_unicode_ci。也习惯使用PHP Multibyte string functions(可能需要安装)。

如果上述指南无法解决您的问题,您至少会有一条明确的路径(带有错误日志),看看出了什么问题,以及如何解决您的问题。

答案 1 :(得分:0)

<?php 

`include 'inc.config.php';
if(isset($_POST["submit"]))
{
    $user = mysql_real_escape_string($_POST['emailid']);
    $pass = md5(mysql_real_escape_string($_POST['password']));
    $sql="SELECT * FROM logsignup WHERE email='$user' AND password='$pass'";
    $query=mysql_query($sql);
    $numofrows = mysql_num_rows($query);
    if($numofrows > 0)     
    {           
        $row=mysql_fetch_assoc($query)            
        $_SESSSION['EMAIL']= $row['emailid'];
        $_SESSSION['USERNAME'] $row['username'];

       if( $_SESSSION['EMAIL'] && $_SESSSION['EMAIL']) {
 echo "valid";
}else{
  echo "invalid";
}
    }

}`


?>