加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 在登录时存储所有用户信息

发布时间:2020-12-13 17:02:25 所属栏目:PHP教程 来源:网络整理
导读:是否最好在登录时将所有用户信息存储在会话cookie中?而不是使用大量的查询 $_SESSION['id'] = mysql_result($result,'id');$_SESSION['name'] = mysql_result($result,'name');$_SESSION['email'] = mysql_result($result,'email');$_SESSION['ip'] = mysql
是否最好在登录时将所有用户信息存储在会话cookie中?而不是使用大量的查询

$_SESSION['id'] = mysql_result($result,'id');
$_SESSION['name'] = mysql_result($result,'name');
$_SESSION['email'] = mysql_result($result,'email');
$_SESSION['ip'] = mysql_result($result,'regip');
$_SESSION['groupid'] = mysql_result($result,'group_id');
$_SESSION['style'] = mysql_result($result,'style');

或者只是在会话中存储ID然后在所有页面上查询:

select * from users where id = $_SESSION['id']

解决方法

如果你要经常使用它们,当然.虽然我要小心将所有用户数据存储在Session中.只有必要.请记住,编写良好的查询在资源上很便宜.不要试图完全避免连接数据库,只要确保当你这样做时,你就做得很好.

如果您喜欢使用memory_get_usage(),可以测试内存消耗.但请注意,会话数据存储在系统本身的平面文件中:

session_start();
echo memory_get_usage(); // 87744
$_SESSION["user"] = array(
    "name"    => "Jonathan Sampson","id"      => 54680,"groupID" => 0285,"email"   => "example@somesite.com","style"   => "background-color:#333;color:#f1f1f1"
);
echo memory_get_usage(); // 88344

所以你可以看到存储这么多数据真的非常简单.

另见:Cache data in PHP SESSION,or query from db each time?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读