我想创建一个登录页面,并且每次输入正确的ID和密码时都无法访问该帐户,而是说错误的ID和密码
这是代码
这就是我得到的错误
答案 0 :(得分:2)
你应该使用PDO或Mysqli。根据您的PHP版本,不推荐使用mysql_*
函数。请参阅manual's page上的警告:
警告 此扩展在PHP 5.5.0中已弃用,并且已在PHP 7.0.0中删除。相反,应该使用MySQLi或PDO_MySQL扩展。另请参阅MySQL:选择API指南和相关的常见问题解答以获取更多信息。该功能的替代方案包括: mysqli_query() PDO ::查询()
在该页面上,您可以看到当前遇到的问题:
混合mysql_query(字符串$ query [,resource $ link_identifier = NULL])
因此,查询被认为是第一个参数,连接链接是第二个参数。您的代码已反转,或使用mysqli
格式。
您的代码也可以使用SQL注入并使用未使用的密码;两种非常不好的做法。
您还应修改整个代码方法。 PHP处理应该在页面生成之前完成,而不是在之后。
如果您发布了代码,则会有代码答案。我们不会转录。
答案 1 :(得分:1)
gsub!
的问题,它应该是一个字符串而不是别的什么使用带有预准备语句的MySQLi的示例代码:
mysql_query()
答案 2 :(得分:0)
变量 user_email 与关键字 AND 之间可能存在空间问题,如图所示:
它应该是这样的 -
$check_user = "select * from signup WHERE email_id='".$user_email."' AND password='".$user_pass."'";
答案 3 :(得分:0)
1 - 通过
检查$check_user
echo $check_user; //or
var_dump($check_user);
在向其附加$ user_pass和$ user_email之后查看最终查询
2 - 您必须回显mysql错误才能获得更详细的错误消息。使用
echo mysql_error($conn)
我猜$ user_pass或$ user_email或两者都可能出错了