gpt4 book ai didi

php - 从对象分配 $_session var

转载 作者:太空宇宙 更新时间:2023-11-03 12:06:17 24 4
gpt4 key购买 nike

这是我正在处理的登录脚本;它使用 mysqli(我知道它不如 PDO 安全)运行 MySQL 查询后,我是 fetch_object()。然后我让 $_session 保存用户 ID 和电子邮件。 $_SESSION['uid'] = $user->ID 有效但 $_SESSION['uemail'] = $user->email。这可能是因为电子邮件存储在对象 $user 中吗?我必须以某种方式转换它吗?

电子邮件在数据库中存储为 varchar(255) ID 为 int(11)。

<?php
include_once("config.php");

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

$query = "SELECT ID FROM user WHERE username = '$username' AND password = '$password' LIMIT 1";

if ($result = $db->query($query)) {
while ($user = $result->fetch_object()) {
$_SESSION['uid'] = $user->ID;
$_SESSION['uemail'] = $user->email ;
header("Location: index.php");
//exit();
}
}else {
echo "Invalid login information. Please return to the previous page.";
//exit();
}
//var_dump(get_object_vars($result));

//$db->close();
?>

提前致谢。

最佳答案

评论回答:

您需要选择要查询的列:

SELECT ID, email FROM ...

这就是 $_SESSION['uemail'] = $user->email ; 失败的原因。

要么选择有问题的特定列,要么 SELECT * 也可以。

但是,之前已经说过,不建议使用 *,因此请选择实际的列。

关于php - 从对象分配 $_session var,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26446023/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com