SQL Update使用PHP会话变量的问题

时间:2018-03-15 00:27:43

标签: php sql

我已经建立了一个网页,您可以在其中注册并登录,一旦您登录,您就可以编辑您的个人资料并上传头像。我现在正在处理头像部分,但我无法弄清楚它为什么不起作用。我将向您展示我的代码的一些部分,希望您能帮助我。

if ($_SERVER["REQUEST_METHOD"] == "POST") {
         $avatar_path = $mysqli->escape_string('images/'.$_FILES['avatar']['name']);

         if (preg_match("!image!",$_FILES['avatar']['type'])) {

            if (copy($_FILES['avatar']['tmp_name'], $avatar_path)) {

//它将图像复制到指定的路径,所以我知道它在这里工作。

                $_SESSION['avatar'] = $avatar_path;

这就是问题,因为它基本上什么都不做,它甚至不会返回错误信息,所以我不知道我的SQL有什么问题。 ($_SESSION[msg1]等于你的用户名(我知道因为我在这里打印),所以基本上我要做的就是将头像路径插入用户表中,用户名等于你的用户名,但它什么也没做。

                $sql = "UPDATE users SET avatar = $avatar_path WHERE username = $_SESSION[msg1]";

                if ($mysqli->query($sql) === true){
                    header("Location: index.php");
                }
            }
         }         
    }

1 个答案:

答案 0 :(得分:-1)

像你这样查询你的查询:

$sql = "UPDATE users SET avatar = '" . $avatar_path . "' WHERE username = '" . $_SESSION['msg1'] . "'";

if ($mysqli->query($sql) === true){
    header("Location: index.php");
}
else
{
    die("Database Query Failed: " . mysqli_error());
}