为了账号安全,请及时绑定邮箱和手机立即绑定

我的doLogin.php里面var_dump($row)为什么是null?

我的doLogin.php里面var_dump($row)为什么是null?

PHP
qq_机智二班美少女_0 2018-03-30 17:50:03
<?php  require_once '../include.php'; $username=$_POST['username']; $password=md5($_POST['password']); $verify=$_POST['verify']; $verify1=$_SESSION['verify']; if($verify==$verify1){ $sql="select * from imooc_admin where username='{$username}' and password='{$password}'"; $row=checkAdmin($sql); var_dump($row); if($row){ $_SESSION['adminName']=$row['username']; //header("location:index.php"); //alertMes("登陆成功","index.php"); }else{ //alertMes("登陆失败,重新登录","login.php"); } }else{ alertMes("验证码错误,重新登录","login.php"); }  ?>   // checkAdmin()的代码。 <?php  /**  * 检查管理员是否存在  * @param unknown_type $sql  * @return Ambigous <multitype:, multitype:>  */ function checkAdmin($sql){ return fetchOne($sql); } ?>  //这是fetchOne的代码 function fetchOne ($sql,$result_type=MYSQLI_ASSOC) {    $link =  connect();    $result = mysqli_query($link,$sql);    if (mysqli_errno($link)){        die(mysqli_errno($link));        $mes =  mysqli_errno($link);        echo "<script>alert('{$mes}');</script>";    }    $row = mysqli_fetch_array($result);    return $row; }  //如果是测试var_dump($sql);可以得到username和password可是var_dump($row)就只有null。
查看完整描述

4 回答

?
野生码农在线co腚

TA贡献134条经验 获得超63个赞

说不好哪点错了,不如你这样试下

<?php

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

$mysqli=new mysqli('localhost','root','root','test');
if($mysqli->errno){
    die('Connect Error:'.$mysqli->error);
}else{
    $mysqli->set_charset('UTF8');
}
$sql="select * from imooc_test where username='{$username}' and password='{$password}'";

$result = mysqli_query($mysqli,$sql);
//var_dump($result);die;
$row = mysqli_fetch_array($result);
var_dump($row);

查看完整回答
反对 回复 2018-03-31
?
ALEX3403648

TA贡献2条经验 获得超0个赞

你的checkAdmin方法在哪里

查看完整回答
反对 回复 2018-03-30
  • qq_机智二班美少女_0
    qq_机智二班美少女_0
    function checkAdmin($sql){ return fetchOne($sql); } //这是checkAdmin的函数 function fetchOne ($sql,$result_type=MYSQLI_ASSOC) { $link = connect(); $result = mysqli_query($link,$sql); if (mysqli_errno($link)){ die(mysqli_errno($link)); $mes = mysqli_errno($link); echo "<script>alert('{$mes}');</script>"; } $row = mysqli_fetch_array($result); return $row; } 这是fetchOne的函数。
?
林逸舟丶

TA贡献124条经验 获得超28个赞

打印下$sql看下是否和你预期的一样,再考虑考虑问题出在哪里

查看完整回答
反对 回复 2018-03-30
  • qq_机智二班美少女_0
    qq_机智二班美少女_0
    打印出来显示了我的username:king和密码。 D:\wamp64\www\shopImooc\admin\doLogin.php:10:string 'select * from imooc_admin where username='king' and password='b2086154f101464aab3328ba7e060deb'' (length=95)
  • qq_机智二班美少女_0
    qq_机智二班美少女_0
    function checkAdmin($sql){ return fetchOne($sql); } //这是checkAdmin的函数 function fetchOne ($sql,$result_type=MYSQLI_ASSOC) { $link = connect(); $result = mysqli_query($link,$sql); if (mysqli_errno($link)){ die(mysqli_errno($link)); $mes = mysqli_errno($link); echo "<script>alert('{$mes}');</script>"; } $row = mysqli_fetch_array($result); return $row; } 这是fetchOne的函数。 大神能不能看下是什么问题呀
  • 林逸舟丶
    林逸舟丶
    原来如此 那么问题大概就是 你数据库中根本就没有对应的记录
?
CodeManDSH

TA贡献58条经验 获得超18个赞

$sql="select * from imooc_admin where username='{$username}' and password='{$password}'";

改成

$sql="select * from imooc_admin where username='".$username."' and password='".$password."'";

试试

查看完整回答
反对 回复 2018-03-30
  • 4 回答
  • 0 关注
  • 2347 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信