"用户名或密码错误"即使输入的信息是正确的,也会显示消息

时间:2015-06-29 22:25:30

标签: php mysql sql mysqli cpanel

感谢这个论坛上的人的帮助,我终于让我的php脚本工作了

<?php 
session_start();
$link = new MySQLi("localhost", "DBusername", "DBpassword", "Logindata2256") ;

if ( mysqli_connect_error() )
{

    $logmessage = 'MySQL error : ' . mysqli_connect_error() ; 
    die('could not connect to database');
}

$Email = $_POST['Email'];
$Password = $_POST['Password'];
$query="SELECT Email, Password FROM TABLENAME WHERE Email='".$Email."' AND Password='".$Password."'";
if ($result = mysqli_query($link,$query )) 
{
    if( mysqli_num_rows($result) == 1 )
    {

        $_SESSION["Email"];
        $_SESSION["Password"];
        header("location:success.php");
     }

     else
     {
          echo "wrong username or password" ;

     }
}
else
{
    echo' Couldnt select from table. Please check query';
}
?>

事情是,无论我输入什么(来自数据库的正确或不正确的信息)我都使用Worng用户名或密码msg,关于这个主题的任何想法?

1 个答案:

答案 0 :(得分:0)

请尝试为字符串添加引号,如下所示

$link = new MySQLi ("localhost", "Maelhann", "Saintalban22", "Logindata2256" ) ;

让我知道这是否有效

<?php 
session_start();
$link = new MySQLi("localhost", "Maelhann", "Saintalban22", "Logindata2256") ;

if ( mysqli_connect_error() )
{

    $logmessage = 'MySQL error : ' . mysqli_connect_error() ; 
    die('could not connect to database');
}

$Email = $_POST['Email'];
$Password = $_POST['Password'];
$query="SELECT Email, Password FROM tablename WHERE Email='".$Email."' AND Password='".$Password."'";
if ($result = mysqli_query($link,$query )) 
{
    if( mysqli_num_rows($result) == 1 )
    {

        $_SESSION["Email"];
        $_SESSION["Password"];
        header("location:Newaccount.html");
     }

     else
     {
          echo "wrong username or password" ;

     }
}
else
{
    echo' Couldnt select from table. Please check query';
}
?>

请根据您的情况更改查询