Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 检查用户和密码是否与数据库匹配_Php_Mysql_Login - Fatal编程技术网

Php 检查用户和密码是否与数据库匹配

Php 检查用户和密码是否与数据库匹配,php,mysql,login,Php,Mysql,Login,我不知道在用户登录时如何检查数据库中的匹配项,如果pass和user都与条目匹配,则返回true 与用户名和密码对应的变量是:$user和$hash。我必须查找匹配项的表是表Users和列:User和Password 问题会是怎样的?谢谢查询将类似于此: SELECT * FROM Users WHERE User='$user' AND Password='$hash' LIMIT 1; 然后检查行数是否=1。如果是这样,那么似乎有一个有效的登录名。记住您正在尝试做的事情:您正在尝试匹配数据

我不知道在用户登录时如何检查数据库中的匹配项,如果pass和user都与条目匹配,则返回true

与用户名和密码对应的变量是:$user和$hash。我必须查找匹配项的表是表Users和列:User和Password


问题会是怎样的?谢谢

查询将类似于此:

SELECT * FROM Users WHERE User='$user' AND Password='$hash' LIMIT 1;
然后检查行数是否=1。如果是这样,那么似乎有一个有效的登录名。记住您正在尝试做的事情:您正在尝试匹配数据库中的两件事情。并确保这两个条件都为真


我将查看API以了解更多信息。

这是您需要的查询:

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

如果返回一个您可以检查的结果,那么登录是有效的。如果没有,它是无效的。请记住,在使用数据库查询之前,请先使用一个或另一个逃逸函数来逃出$用户。

谷歌围绕PHP登录表单,您会发现很多关于此的信息。您还需要考虑保护您的输入,SQL注入是非常容易的,尤其是在登录脚本上。绝对如此。我建议您在将输入直接发送到查询之前,编写一个清理方法,您可以使用regex等执行此操作。如解释所示。本来也打算把它添加到我的日志中,但是你在发帖时以1秒的优势击败了我,哈哈。