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

时间:2014-10-14 13:47:07

标签: 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");
            }
        }
    }
?>

1 个答案:

答案 0 :(得分:0)

我实际上是自己想出来的。我只是在sql语句中检查错误的值。