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 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 ubuntu系统下挂载磁盘上执行./提示权限不够
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型