mysqli_num_rows () ожидает, что параметр 1 будет mysqli_result, логическое значение указано в C: \ xampp \ htdocs \ atm \ manager \ index.php в строке 87 - PullRequest
0 голосов
/ 21 ноября 2018

Я использую следующее для входа в систему, он работает отлично, но при входе в mamager выдает следующую ошибку

mysqli_num_rows () ожидает, что параметр 1 будет mysqli_result, логическое значение задано в C: \ xampp \ htdocs \ atm\ manager \ index.php в строке 87

<?php
    if(isset($_POST['login'])){
        $user = mysqli_real_escape_string($con, $_POST['email']);
        $pass = mysqli_real_escape_string($con, $_POST['pass']);
        $query ="select * from manager where user='$user' and pass='$pass' ";
        $res = mysqli_query($con,$query);
        if(mysqli_num_rows($res)==1) <--line 87 in my code
        {
            $query_id ="select * from manager where user='$user'";
            $run_id = mysqli_query($con,$query_id);
            $run_id2 = mysqli_fetch_array($run_id);
            $_SESSION['id'] = $run_id2['id'];
            $_SESSION['name'] = $run_id2['name'];
            echo "<script>window.open('home.php','_self');</script>";
        }
        else
        {
            echo "<script>alert('** Please Enter Correct Information **')</script>";
        }   
    }
?>

1 Ответ

0 голосов
/ 21 ноября 2018

В вашем коде отсутствует правильная обработка ошибок, что может помочь при отладке.Попробуйте сделать это ...

<?php
    if(isset($_POST['login'])){
        $user = mysqli_real_escape_string($con, $_POST['email']);
        $pass = mysqli_real_escape_string($con, $_POST['pass']);
        $query ="select * from manager where user='$user' and pass='$pass' ";
        $res = mysqli_query($con,$query);

        # $res will be FALSE on query error
        if ($res === FALSE){
            // you can also check the error message you are getting from mysql
            // var_dump(mysqli_error($con));
            // you could do a var_dump of $query here to see what exactly you pass as a query to the database.
            // var_dump($query);
            echo "<script>alert('** Query failed executing **')</script>";
        }
        elseif(mysqli_num_rows($res)==1) <--line 87 in my code
        {
            $query_id ="select * from manager where user='$user'";
            $run_id = mysqli_query($con,$query_id);
            $run_id2 = mysqli_fetch_array($run_id);
            $_SESSION['id'] = $run_id2['id'];
            $_SESSION['name'] = $run_id2['name'];
            echo "<script>window.open('home.php','_self');</script>";
        }
        else
        {
            echo "<script>alert('** Please Enter Correct Information **')</script>";
        }   
    }
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...