Sql 存储用户的上次登录时间戳 重要编辑:没有编程错误
那是我犯的错误,导致了问题。请阅读下面的问题: 我想在看到用户使用user_model.php下面的登录函数登录后更新用户上次登录的时间戳 用户成功登录后,$result->first\u行存储到$this\u用户变量中,然后更新lastlogentimestamp 因此很明显,应该返回lastlogintimestamp的旧值 问题是,非常奇怪的是,我看到返回了新值 非常简单:我看到的结果是因为一个非常独立的查询,比如SELECT*FROM user 在那里,我看到了一个拥有自己的LastLoginItemsTamp的用户列表 很明显,我看到的是更新的lastlogintimestampsSql 存储用户的上次登录时间戳 重要编辑:没有编程错误,sql,codeigniter,Sql,Codeigniter,那是我犯的错误,导致了问题。请阅读下面的问题: 我想在看到用户使用user_model.php下面的登录函数登录后更新用户上次登录的时间戳 用户成功登录后,$result->first\u行存储到$this\u用户变量中,然后更新lastlogentimestamp 因此很明显,应该返回lastlogintimestamp的旧值 问题是,非常奇怪的是,我看到返回了新值 非常简单:我看到的结果是因为一个非常独立的查询,比如SELECT*FROM user 在那里,我看到了一个拥有自己的LastLo
无论如何,我应该感谢你通过评论帮助我发现问题。我想我现在对这个问题所能做的就是投票支持它。考虑到我问题的评论,我知道我做错了什么 我应该再次感谢他在最后一次评论中所说的为我指明了正确的方向。阅读下面的3个单词
我投票决定结束这个问题,并接受它作为一个没有答案的答案。现在最好这样使用:UPDATE`user`SET`LastLoginItemStamp`=现在WHERE`id`=?“用户名”=?限制1,然后可以从阵列中删除不需要的时间。我会给你一个MySQL函数的当前时间戳。不,不,我的回答是关于一个已经被删除的评论。好的,我试试新方法。但是1。为什么当前查询不应该做这项工作?2.MySQL的NOW也返回UTC时间戳吗?不,正如文档所说,MySQL的NOW在服务器的时区中返回。但是我想把每一个时间戳都存储在UTC时区。老实说,我在这里没有做任何事情,我只是给你指出了正确的方向,所以我想你可以把上面的评论作为一个答案,并标记它来结束这个问题。
public function login($username, $password)
{
$this->db->select('id, username, email, type, language, lastlogintimestamp');
$this->db->from('user');
$this->db->where('username', $username);
$this->db->where('password', $password);
$this->db->limit(1);
$result = $this->db->get();
if ($result->num_rows() > 0)
{
$this_user = $result->first_row();
$this->db->query(
'UPDATE `user` SET `lastlogintimestamp` = ? WHERE `id` = ? LIMIT 1',
array(time(), $this_user->id)
);
return $this_user;
}
return FALSE;
}