PHP / MySQLi:登录表单不起作用

时间:2015-10-15 12:03:07

标签: php mysql mysqli login login-script

我用MySQL编写了一个用于登录表单的PHP代码。 现在我听说使用MySQLi更好 - 所以我试着重写代码。这是我正在使用的MySQL代码:

$username = $_POST["username"];
$password = md5($_POST["password"]);

$query = "SELECT username, password FROM accounts WHERE username LIKE '$username' LIMIT 1";
$result = mysql_query($query);
$row = mysql_fetch_object($result);

if($row->password == $password)
    {
    echo "<h3>Hallo $username</h3>";
    $_SESSION["username"] = $username;

    echo "Login succesfully:";
    }
else
    {
    echo "Login not succesfully";
    }

要使用MySQLi,我尝试将其更改为以下内容:

$username = $_POST["username"];
$password = md5($_POST["password"]);

$query = "SELECT username, password FROM accounts WHERE username LIKE '$username' LIMIT 1";
$result = mysqli_query($query);
$row = mysqli_fetch_object($result);

if($row->password == $password)
    {
    echo "<h3>Hallo $username</h3>";
    $_SESSION["username"] = $username;

    echo "Login succesfully:";
    }
else
    {
    echo "Login not succesfully";
    }

但不幸的是,这不起作用。

1 个答案:

答案 0 :(得分:2)

您需要将数据库连接字符串作为第一个参数传递给mysqli_query(),将SQL字符串作为第二个参数传递。

在您的情况下,您只传递一个参数。

这就是它无法正常工作的原因。

更正后的代码:

$result = mysqli_query($con,$query);