我对 SQL 的东西很陌生,我正在尝试在 php 中制作一个登录表单。我希望登录表单做一些 ip 阻止以防止暴力攻击。所以,我有两个表 - 用户和登录尝试。我正在尝试进行选择,如果用户名/密码组合正确,则将返回用户的名称/ID,但无论其正确性如何,我都想要登录尝试查询的结果。这是一些代码。
首先,我通过执行以下操作确保 loginattempt 表中有一个条目:
INSERT INTO loginattempts (ip) VALUES(:ip)
ON DUPLICATE KEY UPDATE attempt=attempt+1
然后,我想做一个类似于:
SELECT users.username, users.id, loginattempts.attempt
FROM users, loginattempts
WHERE users.username = :username
AND users.password = :password
AND loginattempts.ip = :ip
但是,如果不满足任何条件,这显然是行不通的。我怎样才能在单个查询中实现这一点?