我用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";
}
但不幸的是,这不起作用。
答案 0 :(得分:2)
您需要将数据库连接字符串作为第一个参数传递给mysqli_query(),将SQL字符串作为第二个参数传递。
在您的情况下,您只传递一个参数。
这就是它无法正常工作的原因。
更正后的代码:
$result = mysqli_query($con,$query);