【发布时间】:2015-06-19 04:14:46
【问题描述】:
我正在尝试在类方法中进行 Mysql 查询,并尝试将 db 对象传递给 mysql_query 函数。
但它给出了这个错误: mysqli::query() 期望参数 1 是字符串,对象在...中给出。
<?php
class Database
{
private $db_host = DB_HOST;
private $db_user = DB_USER;
private $db_pass = DB_PASS;
private $db_name = DB_NAME;
public $link;
public $error;
// Constructor
public function __construct()
{
$this->connect();
}
private function connect()
{
$this->link = new mysqli($this->db_host, $this->db_user, $this->db_pass, $this->db_name);
if (!$this->link) {
$this->error = "Database'e baglanilamiyor: " . $this->link->connect_error;
return false;
}
$this->link->query($this->link, "SET NAMES UTF8");
}
}
我不确定如何将 db 对象传递给类内查询... 任何帮助表示赞赏。
【问题讨论】:
-
我认为你的连接函数需要返回连接对象。尝试一下,看看是否有效。
-
试试 $this->link->query("SET NAMES UTF8", $this->link);
-
RTFM: php.net/manual/en/mysqli.query.php 在对象模式下,您不会传入连接句柄。这仅在程序模式下是必需的。