SQL Select语句,2个表


SQL Select Statement, 2 tables

我有两个表:用户登录详细信息(用户名,通过)用户详细信息(电子邮件,用户名*)

-粗体为PK,星号为FK

我正在尝试用sql语句创建一个放弃的密码PHP页面。用户将输入他们的电子邮件地址,sql语句将在Userdetails中检查电子邮件是否正确。然后,Userdetails中的用户名将与Userlogintails匹配,以查找密码。我需要两份声明吗?

感谢

否(您不需要2条语句),您可以使用SQL JOIN(例如)来实现这一点

SELECT b.pass FROM 
userdetails a
LEFT JOIN 
userlogindetails b 
ON a.username = b.username
WHERE a.email = <put user input here, use a parameterized query>

SQL JOIN:

http://www.w3schools.com/sql/sql_join.asp

正如其他人所指出的,您不应该将密码存储在数据库中。根据您的特定安全需求,您需要决定这是否是个好主意。这里讨论了用于存储的密码+盐散列技术:

https://www.owasp.org/index.php/Password_Storage_Cheat_Sheet