dtgta48604 2014-04-12 13:32
浏览 58
已采纳

mysqli_num_rows()期望参数1为mysqli_result,布尔值为

Already looked at the other answers but couldn't fix it. Monday i've got school exams and they want us to build a basic CMS (add, edit, delete pages, resized images). My programming knowledge is beginner and I don't know much about OOP (PDO), design patterns, best practices and like that kind of things.

As I checked my query in phpMyAdmin it looks fine. In the header include there is the connection included.

<?php
    include('inc/header.php');
    if(isset($_POST["submit"])) {
        $username = trim($_POST["username"]);
        $password = trim($_POST["password"]);
        $password_secure = md5($password);

        if($username == "") {
            $error++;
            $_SESSION["loginerror"] = true;
            header("location: loginerror.php");
            exit;
        }

        if($password == "") {
            $error++;
            $_SESSION["loginerror"] = true;
            header("location: loginerror.php");
            exit;
        }

        if($username != "" && $password != "") {
            $sql = "SELECT * FROM user WHERE username = '".$username."' 
            AND password = '".$password_secure."'";
        }

        if(mysqli_num_rows($query == 1)) {
            $row = mysqli_fetch_array($query);
            $_SESSION['username'] = $row["username"];
            $_SESSION['firstname'] = $row["firstname"];
            $_SESSION['lastname'] = $row["lastname"];
            $_SESSION['login'] = true;
            header("location: user.php");
            exit;
        }

    } else {
        header("location: index.php");
        exit;
    }
?>

Is it also smart to check the POST request with $_SERVER['REQUEST_METHOD'] == 'POST' instead of a isset() and escape SQL with mysql_real_escape_string in the query?

Thanks

  • 写回答

1条回答 默认 最新

  • douou5933 2014-04-12 13:33
    关注

    You forgot to execute the query

    $query = mysqli_query($sql);
    
    $rowcount=mysqli_num_rows($query); 
    

    and then

    if($rowcount == 1){
     // do ur stuff
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 找一个网络防御专家,外包的
  • ¥100 能不能让两张不同的图片md5值一样,(有尝)
  • ¥15 informer代码训练自己的数据集,改参数怎么改
  • ¥15 请看一下,学校实验要求,我需要具体代码
  • ¥50 pc微信3.6.0.18不能登陆 有偿解决问题
  • ¥20 MATLAB绘制两隐函数曲面的交线
  • ¥15 求TYPCE母转母转接头24PIN线路板图
  • ¥100 国外网络搭建,有偿交流
  • ¥15 高价求中通快递查询接口
  • ¥15 解决一个加好友限制问题 或者有好的方案