我想用php验证登录,为什么无论密码是否正确都显示用户名或密码不正确

这是我的php代码:<html><head><title>logincheck</title><metahttp-equiv="Content-Type"content=... 这是我的php代码:
<html>
<head>
<title>logincheck</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
</head>
<?php
$input=$_POST;
$link=mysqli_connect('localhost','root','123456789','news');
if(!$link) die('Connect Error:'.mysqli_connect_error());
$sql="select username,password from login where username = '{$input['username']}' and password = '{$input['password']}'";
$result = mysqli_query($link,$sql);
if(!$result) die('Query Error:'.$SQL);
$num = mysqli_num_rows($result);
if($num){
$row = mysqli_fetch_array($result,MYAQLI_ASSOC);
echo "欢迎您,$row[0]";

}else{
echo" <script>alert('用户名或密码不正确');history.go(-1);</script>";
}
?>
</html>
展开
 我来答
匿名用户
2016-06-10
展开全部
在mysqli_query之前使用var_dump($sql);输出sql语句,然后使用phpmyadmin或者mysql-cli执行下看看sql语句是否有问题。
追问
使用var_dump($sql);后显示string(73)"select username,password from login where username=''and password=''",是因为post传值没有传过来么?
追答
在这句$input=$_POST;后面使用:

var_dump($input);看看输出
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式