2011-08-08 136 views
-1

我不确定如何在用户登录时检查数据库上的匹配项,并在传递和用户匹配条目时返回true。检查用户和密码是否与数据库相匹配

与用户名和密码对应的变量为:$user$hash。我必须寻找匹配的表格是表Users和列:UserPassword

查询将如何?由于

+2

谷歌周围的PHP登录形式,你会发现很多关于这方面的信息。 – Vache

回答

1

这是你需要查询:

SELECT * FROM Users WHERE User = '$user' AND Password = '$hash' LIMIT 1; 

如果返回结果(你可以用mysql_num_rows()检查),然后登录是有效的。如果没有,这是无效的。在数据库查询中使用它之前,请记住要使用mysql_real_escape_string()或其他转义函数转义$user

3

查询将类似于此:

SELECT * FROM Users WHERE User='$user' AND Password='$hash' LIMIT 1; 

然后检查行== 1如果数字的话,似乎有一个有效的登录。记住你想要做的事:你试图在数据库中匹配两件事情。 SQL“AND”确保两个条件都是真实的。

我会检查http://mysql.com/上的API以获取更多信息。

+0

您还需要考虑保护您的输入,SQL注入非常容易,特别是在登录脚本上。 – diagonalbatman

+0

绝对如此。我建议在将输入直接发送到查询之前,先写一个'sanitize'方法(你可以用正则表达式等等)。 – RageD

+0

像解释。我也会把它添加到我的,但是你在1秒内打了我哈哈。 – Kyle

1
SELECT * FROM Users where User='$user' AND Password='$hash' LIMIT 1 
相关问题