我不确定如何在用户登录时检查数据库上的匹配项,并在传递和用户匹配条目时返回true。检查用户和密码是否与数据库相匹配
与用户名和密码对应的变量为:$user
和$hash
。我必须寻找匹配的表格是表Users
和列:User
和Password
。
查询将如何?由于
我不确定如何在用户登录时检查数据库上的匹配项,并在传递和用户匹配条目时返回true。检查用户和密码是否与数据库相匹配
与用户名和密码对应的变量为:$user
和$hash
。我必须寻找匹配的表格是表Users
和列:User
和Password
。
查询将如何?由于
这是你需要查询:
SELECT * FROM Users WHERE User = '$user' AND Password = '$hash' LIMIT 1;
如果返回结果(你可以用mysql_num_rows()
检查),然后登录是有效的。如果没有,这是无效的。在数据库查询中使用它之前,请记住要使用mysql_real_escape_string()
或其他转义函数转义$user
。
查询将类似于此:
SELECT * FROM Users WHERE User='$user' AND Password='$hash' LIMIT 1;
然后检查行== 1如果数字的话,似乎有一个有效的登录。记住你想要做的事:你试图在数据库中匹配两件事情。 SQL“AND”确保两个条件都是真实的。
我会检查http://mysql.com/上的API以获取更多信息。
您还需要考虑保护您的输入,SQL注入非常容易,特别是在登录脚本上。 – diagonalbatman
绝对如此。我建议在将输入直接发送到查询之前,先写一个'sanitize'方法(你可以用正则表达式等等)。 – RageD
像解释。我也会把它添加到我的,但是你在1秒内打了我哈哈。 – Kyle
SELECT * FROM Users where User='$user' AND Password='$hash' LIMIT 1
谷歌周围的PHP登录形式,你会发现很多关于这方面的信息。 – Vache