Php 无法使用SET更新SQL表值

Php 无法使用SET更新SQL表值,php,mysql,database,Php,Mysql,Database,我尝试了许多不同形式的语法,无论我使用什么,我都无法更改SQL数据库中登录的布尔值 login.php <?php session_start(); ?> <html> <body> <h1>User Login Form - PHP MySQL Login System</h1> <?php if (!isset($_POST['submit'])){ ?> <!-- The

我尝试了许多不同形式的语法,无论我使用什么,我都无法更改SQL数据库中登录的布尔值

login.php

<?php
session_start();
?>
<html>
<body>
    <h1>User Login Form - PHP MySQL Login System</h1>
    <?php
    if (!isset($_POST['submit'])){
    ?>
    <!-- The HTML login form -->
    <form action="<?=$_SERVER['PHP_SELF']?>" method="post">
        Username: <input type="text" name="username" /><br />
        Password: <input type="password" name="password" /><br />
        <input type="submit" name="submit" value="Login" />
    </form>

    <?php
require_once("settings.php");
$mysqli = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
# check connection
if ($mysqli->connect_errno) {
echo "<p>MySQL error no {$mysqli->connect_errno} : {$mysqli->connect_error}</p>";
exit();
}

$username = $_POST['username'];
$password = sha1($_POST['password']);

$sql = "SELECT * from Users WHERE username LIKE '{$username}' AND password LIKE '{$password}' LIMIT 1";
$result = $mysqli->query($sql);
if ($result->num_rows == 1) {

#update the logged_in value here
$sql2 = "UPDATE Users SET logged_in = 1 WHERE username = '$username'";

$location = "contacts.php";
header("Location: $location");
} else {
$location = "login.php";
header("Location: $location");
}
}
?>
</body>
</html>

用户登录表单-PHP MySQL登录系统
但登录的值保持不变: 试试这个

#update the logged_in value here
$sql2 = "UPDATE Users SET logged_in = 1 WHERE username = '$username'";
$mysqli->query($sql2);    

您缺少执行更新查询。($mysqli->query($sql2);)

replace$result=$mysqli->query($sql);使用$result=$mysqli->query($mysqli,$sql);您的数据未提交。或者使用autocommit?@velkoon和update$sql2=“update Users SET logged_in=1,其中username='$username';使用$sql2=$mysqli->query($mysqli,“更新用户集登录\u=1,其中用户名=“$username”);警告:编写自己的访问控制层并不容易,而且有很多机会使它严重出错。这有很多危险,因为你没有。此代码允许任何人从您的站点获取任何内容。不要编写自己的身份验证系统。任何类似的都有一个内置的。那么,祝你顺利完成这项任务。我真的希望大学能更新他们的课程,使之适应过去十年的相关内容。非常感谢!我今天没有情人节,所以还是我的吧?:)
#update the logged_in value here
$sql2 = "UPDATE Users SET logged_in = 1 WHERE username = '$username'";
$mysqli->query($sql2);    
$sql2 = "UPDATE Users SET logged_in = 1 WHERE username = '{$username}'";