哪种方式最好?在会话中保存用户名或会话中的用户ID?

时间:2011-02-21 17:20:52

标签: php mysql session-variables

用户ID或用户名,最好保存在会话中,也可以在mysql中保存,这是最好的方法。

- > "select * from usertable where loginname=" . $_SESSION['username'];

- > "select * from usertable where id=" . $_SESSION['id'];

是否是SQL中最佳比较的整数比较或字符串比较。

3 个答案:

答案 0 :(得分:4)

您通常应该保存ID,因为如果您正在运行完全规范化的数据库,则这是在执行其他查找时对您最有用的值。

答案 1 :(得分:1)

你在想什么对我来说真的没什么意义,真的!

整数比较或字符串比较 - 为什么你认为一个比另一个更快?当然,如果按指令进行指令,整数比较会更快,但为什么要这样呢?

我的回答:坚持你想要的东西。选择一个保证是唯一的。另外,选择用户名,不是很好。为每个登录的用户生成唯一ID。并将该ID存储到$_SESSION[..]中。显然,您需要有一些机制来验证ID,并将其与用户名相关联。

答案 2 :(得分:0)

整数比较总是比字符串更准确,你也想考虑这样一个事实,每个用户的id都是唯一的,并且可能有几个用户具有相同的用户名,这取决于你的系统。

我相信id比较是最好的方式