php - 用户登录帐户时更改数据库字段

标签 php mysql sql

我正在尝试更新数据库表以在用户登录时更改字段。当用户输入他/她的正确信息时,将运行查询以将字段从 0 更改为 1。但是,这种情况不会发生。我假设我的查询语句是错误的。谁能向我解释一下我的声明做错了什么以及我应该做什么来解决它?

<?php
    session_start();
    require("../includes/header.php");
    if($_SERVER["REQUEST_METHOD"] == "POST"){
        $p_num = $_POST["username"];
        $pwd = $_POST["password"];

        $query = "SELECT * FROM $user_table";
        $result = mysqli_query($connect, $query);
        while($row = mysqli_fetch_assoc($result)){
            $user_id = "{$row['user_id']}";
            $user_name = "{$row['user_name']}";
            $password = "{$row['password']}";
            $image = "{$row['image']}";
            $email = "{$row['email']}";
            $program = "{$row['program']}";
            $role = "{$row['role']}";
            $logged_in = "{$row['logged_in']}";

            if(($user_id == $p_num) && ($pwd == $password)){
                $_SESSION["id"] = $user_id;
                $_SESSION["user"] = $user_name;
                $_SESSION["program"] = $program;
                $_SESSION["pass"] = $password;
                $_SESSION["image"] = $image;
                $_SESSION["email"] = $email;
                $_SESSION["role"] = $role;
                $_SESSION["logged in"] = $logged_in;

                mysqli_query($connect, "UPDATE '{$user_table}' SET logged_in = 1 WHERE user_id = '{$p_num}'");

                header("Location: ../pages/instructor.php");
            }
            else{
                header("Refresh: 1; URL=../index.php");
            }
        }
    }
?>

最佳答案

其实这个问题是我自己想出来的。我只是检查 sql 语句中的错误值。

关于php - 用户登录帐户时更改数据库字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26362481/

相关文章:

向雷鸟发送 html 邮件时,PHP 邮件无法显示链接

mysql - Hibernate自定义sql查询

MYSQL - 日期时间、分组依据、正确查询

java - 尝试写入数据库时​​出现错误

php - XML解析错误: junk after document element. Google map 数据库交互

php - 根据多个文件输入检查现有文件名

javascript - 无法与 Sequelize 建立一对一关系

mysql - 连接 3 个表,查询无响应

mysql - 获取组内最新记录

php - 为什么要使用 PHP 框架?