Php MySQL使用电子邮件字段从数据库检索密码字段

Php MySQL使用电子邮件字段从数据库检索密码字段,php,mysql,database,Php,Mysql,Database,我是新使用php的,我正在为我的页面创建一个登录窗口,在这里我想比较输入的电子邮件和密码是否与数据库中的相同;我已经对电子邮件进行了比较,但我不知道如何检索该电子邮件的确切密码,并将其与密码输入进行比较,以了解其是否相同。 这就是我的php的功能: $password=$_POST['password']; $email=$_POST['email']; $query = mysql_query( "SELECT email FROM Register WHERE email = '$email

我是新使用php的,我正在为我的页面创建一个登录窗口,在这里我想比较输入的电子邮件和密码是否与数据库中的相同;我已经对电子邮件进行了比较,但我不知道如何检索该电子邮件的确切密码,并将其与密码输入进行比较,以了解其是否相同。 这就是我的php的功能:

$password=$_POST['password'];
$email=$_POST['email'];
$query = mysql_query( "SELECT email FROM Register WHERE email = '$email'");
$query2 = mysql_query( "SELECT password FROM Register WHERE email = '$email', password = '$password'");



    if(!$email)
    {
        if (!$password)
        {
            echo '
            <script>
            alert("Email and password are required.");
            window.history.go(-1);
            </script>';
            exit;
        }
        else
        {
            echo '
            <script>
            alert("Email Required.");
            window.history.go(-1);
            </script>';
            exit;
        }           
    }

    if (!$password)
    {
        echo '
        <script>
        alert("Password required.");
        window.history.go(-1);
        </script>';
        exit;
    }

    else
    {


        if(!mysql_num_rows($query))
        {
            echo '
            <script>
            alert("The email is not the same or does not exist");
            window.history.go(-1);
            </script>';
            exit;
        }

        if($query2==$password)
        {
            echo '
            <script>
            alert("Succesful Login");
            window.history.go(-1);
            </script>';
            exit;
        }

        else
        {
            echo '
            <script>
            alert("Password is not the same, please verify.");
            window.history.go(-1);
            </script>';
            exit;

        }




    }
$password=$\u POST['password'];
$email=$_POST['email'];
$query=mysql_query(“从Register中选择email,其中email='$email');
$query2=mysql_query(“从注册表中选择密码,其中email='$email',password='$password'”);
如果(!$电子邮件)
{
如果(!$password)
{
回声'
警报(“需要电子邮件和密码”);
window.history.go(-1);
';
出口
}
其他的
{
回声'
警报(“需要电子邮件”);
window.history.go(-1);
';
出口
}           
}
如果(!$password)
{
回声'
警报(“需要密码”);
window.history.go(-1);
';
出口
}
其他的
{
如果(!mysql_num_rows($query))
{
回声'
警报(“电子邮件不相同或不存在”);
window.history.go(-1);
';
出口
}
如果($query2==$password)
{
回声'
警报(“成功登录”);
window.history.go(-1);
';
出口
}
其他的
{
回声'
警报(“密码不相同,请验证”);
window.history.go(-1);
';
出口
}
}

顺便说一下,感谢您的帮助

更改如下查询

从注册表中选择密码,其中email='$email'和password='$password'

还可以使用mysqli*,因为mysql*在PHP7中已被弃用并完全删除

请试试这个

 mysqli_query( "SELECT * FROM Register WHERE email = '$email' and password ='$password'");

if(mysql_num_rows($query))
{
            echo '
            <script>
            alert("Succesful Login");
            window.history.go(-1);
            </script>';
            exit;
 }
else
{
            echo '
            <script>
            alert("The email is not the same or does not exist");
            window.history.go(-1);
            </script>';
            exit;

 }
mysqli_查询(“从Register中选择*,其中email='$email'和password='$password'”);
if(mysql_num_行($query))
{
回声'
警报(“成功登录”);
window.history.go(-1);
';
出口
}
其他的
{
回声'
警报(“电子邮件不相同或不存在”);
window.history.go(-1);
';
出口
}
  • 您正在使用“,”而不是“和”。使用并解决问题
  • 执行第二次查询后,您的数据将显示在$query中。你有用处

    $data=mysql_fetch_array($query);
    $data['password'];// there contains password
    so you code this
    if($query2==$password)
            {
                echo '
                <script>
                alert("Succesful Login");
                window.history.go(-1);
                </script>';
                exit;
            }
    will be changed to
    if($data['password']==$password)
            {
                echo '
                <script>
                alert("Succesful Login");
                window.history.go(-1);
                </script>';
                exit;
            }
    
    $data=mysql\u fetch\u数组($query);
    $data['password'];//其中包含密码
    所以你给这个编码
    如果($query2==$password)
    {
    回声'
    警报(“成功登录”);
    window.history.go(-1);
    ';
    出口
    }
    将更改为
    如果($data['password']==$password)
    {
    回声'
    警报(“成功登录”);
    window.history.go(-1);
    ';
    出口
    }
    

  • 希望你能得到答案。

    你的密码加密了吗?不,不,我用POST和HTM中的“password”很简单。然后在email=$email和password=$password后面加上and,而不是逗号,就像第二个问题中的这个一样。欢迎你,不要验证答案,然后取消验证,感觉很糟糕。给出的两个答案都是正确的。所以你应该根据时间来判断已验证的ans,兄弟。无论如何,Cheesthanks还需要使用mysql_num_rows($query2)在if中进行验证