【问题标题】:PHP mysqli_query() expects parameter 1 to be mysqli, object given in [duplicate]PHP mysqli_query() 期望参数 1 是 mysqli,对象在 [重复]
【发布时间】:2017-01-23 21:14:04
【问题描述】:

我有这个代码

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,对象在 D:\xampp\htdocs\purkiada2\content\Db_parser.inc.php 第 21 行给出

【问题讨论】:

  • 这个:if (mysqli_query($dbconn, $query))。您实际上是在创建Db_conn 的一个实例,并在您可能应该使用您的连接方法if (mysqli_query($dbconn->connect('your_database_name'), $query)) 时将其传入。
  • 你在哪里选择你的数据库,你如何指向你的数据库
  • 感谢我使用了那个解决方案

标签: php mysqli


【解决方案1】:

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;
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多