PHP mysqli_query()期望参数1是mysqli,对象是给定的

时间:2017-01-23 21:14:05

标签: php mysqli

大家好我有这个代码

class Db_conn {
private $sn = 'localhost';
private $un = 'root';
private $up = '';
public function connect(string $db_n){
    $conn = mysqli_connect($this->sn, $this->un, $this->up, $db_n);
    if (!$conn) {
        die("Připojení se nezdařilo: " . mysqli_error($conn));
    } else {
        return $conn;
    }
}

}

这段代码

public function update($query){
    $dbconn = new Db_conn();
    if (mysqli_query($dbconn, $query)) {
        return True;
    } else {
        return False;
    }
}

在这一行if (mysqli_query($dbconn, $query)) { 它说有一个错误。

  

警告:mysqli_query()要求参数1为mysqli,第21行的D:\ xampp \ htdocs \ purkiada2 \ content \ Db_parser.inc.php中给出的对象

我正在使用像这样的代码

$result = $dbparser->update("INSERT INTO adventura (Jmeno, Heslo) VALUES ('$lgn','$pwd')");
            if($result) {
                $_SESSION['usr'] = $_POST['usr-lgn'];
                header('Location: content/stats.php');
            }

我真的不明白为什么它不起作用。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:2)

mysqli_query需要一个mysqli连接,但是你给它一个Db_conn对象。这就是错误信息所说的内容。

您必须首先连接,然后将此(mysqli)连接提供给mysqli_query,例如

public function update($query){
    $dbconn = new Db_conn();
    $conn = $dbconn->connect();
    if (mysqli_query($conn, $query)) {
        return True;
    } else {
        return False;
    }
}