SQL Select语句,2个表

时间:2013-12-04 17:45:37

标签: php sql select

我有两张桌子: Userlogindetails(用户名,传递) 用户详细信息(电子邮件,用户名*)

-Bolded是PK,asterix是FK

我正在尝试使用sql语句执行一个forgetpassword PHP页面。 用户将输入他们的电子邮件地址,sql语句将检查Userdetails中的电子邮件是否正确。 然后,Userdetails中的用户名将与Userlogindetails匹配以查找密码。 我需要两个陈述吗?

由于

1 个答案:

答案 0 :(得分:1)

否(您不需要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 JOINs:

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

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

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