0
我的查询需要做到这一点需要一个MySQL查询
- 获得用户的详细信息
- 得到上次登录的是登录失败的登录
- 保存号码登录的表的帮助,但只有该用户的最后3次登录
我的问题似乎是在子查询中。我想WHERE
的一部分引用在外部查询中早先匹配的user_id。这甚至有可能吗?我对这个查询做了大量的混乱吗?
$query = 'SELECT users.id,
users.email,
users.password,
users.first_name,
users.last_name,
max(user_logins.datetime) as last_login,
count(user_logins.failed) as failed_logins,
FROM users, user_logins
WHERE users.email = ' . Database::instance()->escape($email) . '
AND users.id = user_logins.user_id
AND user_logins.datetime IN (SELECT datetime FROM user_logins WHERE user_id = users.id )
LIMIT 1';
last_login
似乎工作得很好。我想要最后3个的原因是我可以检查最后3个是否失败,然后为该用户设置超时登录。
我不能回去做一个UPDATE users SET failed = 1 WHERE failed = 0
,因为那样我就不会有一个准确的用户登录日志。我希望看到任何失败。
我在做什么错? 谢谢
非常感谢彼得。 – alex 2010-03-01 07:18:10