2016-09-16 30 views
-3

我需要确认使用PHP和MySQL登录。我的代码不断地带来'用户名和密码不正确,即使它是。请问我哪里错了。PHP,我的sql连接到登录数据库

HTML代码看起来像这样

enter image description here

PHP代码看起来像这样

enter image description here

谢谢

+1

你可以添加你的代码吗? – fernando

+1

邮编,而不是代码图片。 – WillardSolutions

+1

请以可复制的形式在此处添加您的代码,并取出您的凭证。 – aynber

回答

1

问题1:$ USER_NAME = $ _ POST [ '用户名' ]。你错误地使用了单引号。屏幕截图中的密码相同。 http://i.stack.imgur.com/FlUyR.jpg

问题2:mysqli_query($ CONNECTIONHANDLER,$ QUERY),但您缺少connectionhandler。

全部代码更改:

$username = mysqli_real_escape_string($con,$_POST['username']); 

$password = mysqli_real_escape_string($con,$_POST['pass_word']); 


$rs = mysqli_query($con, "Select username, pass_word from verify where username = '%s' and pass_word = '%s'", $username, $upassword); 

$check_user = mysqli_num_rows($rs); 

if($check_user>0){ 
    echo "Logged in/valid user "; 
} else { 
    echo "username/password incorrect"; 
} 
+0

*“你已经错误地使用了单引号”* - 那你有没有'$ _POST ['username']'这两个逗号也会导致错误。 –

+0

@ Fred-ii-感谢fred注意到错字:) – Senthil

+0

不客气。 –

0

变化 '$_POST[username]'$_POST['username']和同样为密码。

你实际上是分配的,而不是从$_POST阵列

+0

@masquellett是否做到了这一点? –

0

删除简单报价

$username = $_POST['username']; 
$password = $_POST['pass_word']; 

请记住,POST输入应总是进行消毒,以避免注射

0

让他们的字符串值我认为你做错了。你也只是在互联网上发布你的用户名和密码。 查询是多余的。你应该检查用户是否存在这样的用户名和密码(例如,从...中选择计数(*)) 你所做的第二个控制是多余的。此外,你在一段时间内声明了一个变量,并试图从外部访问这些值。

还有一些语法错误,如引号和其他用户已经建议的东西。