Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 致命错误:对第20行/source中的非对象调用成员函数prepare()_Php_Mysql - Fatal编程技术网

Php 致命错误:对第20行/source中的非对象调用成员函数prepare()

Php 致命错误:对第20行/source中的非对象调用成员函数prepare(),php,mysql,Php,Mysql,这是我的类,此语句在上发生错误: if($stmt = $this->conn->prepare($query)) 我不能完全确定为什么我不能像这样准备查询。函数从login.php页面上的表单获得用户名和密码。我知道正在与数据库建立连接,因为这是我一整天都在处理的问题 <?php require_once 'includes/constants.php'; class Mysql{ private $conn; function _construct() {

这是我的类,此语句在上发生错误:

if($stmt = $this->conn->prepare($query)) 
我不能完全确定为什么我不能像这样准备查询。函数从login.php页面上的表单获得用户名和密码。我知道正在与数据库建立连接,因为这是我一整天都在处理的问题

<?php

require_once 'includes/constants.php';

class Mysql{
  private $conn;

function _construct() {
    $this->conn = new mysqli(DB_SERVER, DB_USER, DB_PASSWORD, DB_NAME) or 
                  die('Could not connect to database.');
}

//connect to database and return true if they're in there
function verifyUsernamePassword($un, $pwd){
    $query = "SELECT * 
            FROM users
            WHERE username = ? AND password = ?
            LIMIT 1";

    if($stmt = $this->conn->prepare($query)) {
        $stmt->bind_param('ss', $un, $pwd);
        $stmt->execute();

        if($stmt->fetch()) {
            $stmt->close();
            return true;
        }
    }
    else
        die('cannot touch database');

 }
}

缺少下划线:
\u construct
新建mysqli
永远不能返回布尔值false。所有对象实例化只能返回被请求的对象。您需要检查
mysqli\u connect\u error()
。@Rizier123您是我的Hero缺少下划线:
\u construct
新建mysqli
不能返回布尔值false。所有对象实例化只能返回被请求的对象。您需要检查
mysqli\u connect\u error()
。@Rizier123您是我的Hero缺少下划线:
\u construct
新建mysqli
不能返回布尔值false。所有对象实例化只能返回被请求的对象。您需要检查mysqli\u connect\u error()
。@Rizier123您是我的英雄