0
我遇到了一个问题,我试图从数据库连接类中获取用于查询的数据库链接,但分配显示它是一个对象而不是我需要运行查询的mysqli链接。我收到错误:“PHP警告:mysqli_query()期望参数1是mysqli,给定的对象...”。如何正确地从构造函数中提取“type”mysqli
这里是我的代码为我的DB连接类:
class DB_Connect {
function __construct() {
}
function __destruct() {
}
public function connect() {
$con = mysqli_connect('localhost', 'user', 'password','database') or die("Error " . mysqli_error($con));
//var_dump($con);
if (!$con) {
throw new Exception('Could not connect to database server');
} else {
return $con;
}
}
这里是我的代码为DB功能:
class DBfns {
private $db;
function __construct() {
require_once 'DB_Connect.php';
// connecting to database
$this->db = new DB_Connect();
$this->db->connect(); //Needs to be changed to mysqli object
var_dump($this->db); //Currently showing as "object(DB_Connect)#2 (0) {}"
}
// destructor
function __destruct() {
}
public function getUser($uname) {
$res = mysqli_query($this->db, "SELECT user_id FROM users WHERE uname = '$uname' ");
//var_dump($this->db);
}
}
预先感谢您的帮助!
看起来长篇大论有点 –
呀它上校。这里有很多改进的余地,但是基本概念的解释并没有完全消除原代码。 – Mchl
可能是'$ this-> db'会是更好的选择吗? –