PHP / MySQLi:登录表单不工作
PHP / MySQLi: Login form isn't working
我用 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";
}
但不幸的是,这不起作用。
您需要将数据库连接字符串作为第一个参数传递给 mysqli_query(),将 SQL 字符串作为第二个参数。
在你的例子中,你只传递了一个参数。
这就是它不起作用的原因。
更正后的代码:
$result = mysqli_query($con,$query);
我用 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";
}
但不幸的是,这不起作用。
您需要将数据库连接字符串作为第一个参数传递给 mysqli_query(),将 SQL 字符串作为第二个参数。
在你的例子中,你只传递了一个参数。
这就是它不起作用的原因。
更正后的代码:
$result = mysqli_query($con,$query);