php - 创建当前会话变量不起作用
问题描述
我有一张桌子,它有更多的列:
id | username | picture
图片为varchar类型,保存用户图片路径username为varchar且唯一
<?php
session_start();
if (isset($_POST["logIn"])) {
$connection = new mysqli(...);
$email = $connection->real_escape_string($_POST["email"]);
$password = sha1($connection->real_escape_string($_POST["password"]));
$data = $connection->query("SELECT * FROM users WHERE email='$email' AND password='$password'");
if ($data->num_rows > 0) {
$_SESSION["email"] = $email;
$_SESSION["loggedIn"] = 1;
$picture = $connection->query("SELECT picture FROM users WHERE email='$email' AND password='$password'");
$_SESSION["picture"]=$picture;
header("Location:../index.php");
exit();
}
所以我想做的是,创建一个$_SESSION["picture"]
变量来保留用户名图片的值,我的意思是现在尝试登录的用户的图片
解决方案
您必须调用 fetch 函数才能从表中获取数据。
$data = $connection->query("SELECT picture FROM users WHERE email='$email' AND password='$password'");
if ($data->num_rows > 0) {
$row = $data->fetch_assoc();
$_SESSION["email"] = $email;
$_SESSION["loggedIn"] = 1;
$_SESSION["picture"]=$row['picture'];
header("Location:../index.php");
exit();
}
推荐阅读
- eclipse - Eclipse 的 Jasper 插件在软件更新后不起作用
- windows - 无法让 Ghostscript 使用 OpenType 字体
- typescript - 如何为包含键/值对以及嵌套对象的对象/数组定义接口?
- typescript - 剩余元素类型必须是 typescript 中泛型类型的数组类型
- python - 尝试使用 Scipy 解决 ODE 时出错
- android - 升级到 OkHttp 4 后如何解决“com.android.builder.dexing.DexArchiveBuilderException”?
- javascript - React 树更新时收到通知
- arrays - 如何在nodejs中检测环境并放置价值
- webpack - 仅对特定入口包应用 webpack 加载器
- c++ - 带有 MSVC Ninja 的 CMake 给出编译器和测试程序错误