mysqli_query()期望参数1为mysqli,mysqli_fetch_array()期望为空,mysqli_fetch_array()期望参数1为mysqli_result,为空。

时间:2018-07-01 06:05:00

标签: php html mysqli

请帮助谢谢你

我的错误消息在这里

  

mysqli_query()期望参数1为mysqli,第28行给出null   并且mysqli_fetch_array()期望参数1为mysqli_result,为null   在第29行中给出

我的代码

    <?php

    class Database{
    public $con;
    public $error;

    public function _construct(){
        $this->con=mysqli_connect("localhost","root","","db");
        if(!$this->con)
        {
            echo "Database Connection Error" .mysqli_connect_error($this->con);
        }

    }
    public function login($data)
    {
        $username =$data['username'];
        $password =$data['password'];

        if($username=="" || $password=="")
        {
            $msg="Field must not be empty";
            return $msg;
        }
        else
        {
            $query="SELECT * FROM tbl_table where username = '$username' AND 
            password = '$password'";
            $result=mysqli_query($this->con,$query);
            $row=mysqli_fetch_array($result);
            $user = $row['username'];
            $pass = $row['password'];

            if($username==$user && $password==$pass)
            {
                header("Location: dashboard.php");
            }
            else
            {
                $msg="Username and Password not match";
                return $msg;
            }               
        }
    }
}
    ?>

2 个答案:

答案 0 :(得分:0)

在mysqli_fetch_array()内部传递另一个参数,第二个参数是要获取的数组类型(MYSQLI_ASSOC)。因此,使它成为

mysqli_fetch_array($result,MYSQLI_ASSOC);

或者另一个原因也许是您的mysqli_query没有返回任何东西。可能是由于查询代码中的某些错误。尝试在您的mysql数据库中进行该查询,看看它是否有效。

答案 1 :(得分:0)

您有错字。应该__construct()注意额外的_