Php 将数据库连接变量存储在文件中,但标记为对象
我有一个数据库类连接到MySQL:Php 将数据库连接变量存储在文件中,但标记为对象,php,mysql,Php,Mysql,我有一个数据库类连接到MySQL: private $db_host; private $db_user; private $db_pass; private $db_name; function __construct($db_host, $db_user, $db_pass, $db_name) { $this->db_host = $db_host; $this->db_user = $db_user; $this->db_pass = $db_
private $db_host;
private $db_user;
private $db_pass;
private $db_name;
function __construct($db_host, $db_user, $db_pass, $db_name) {
$this->db_host = $db_host;
$this->db_user = $db_user;
$this->db_pass = $db_pass;
$this->db_name = $db_name;
}
public function connect(){
if(!$this->con){
$this->myconn = new mysqli($this->db_host,$this->db_user,$this->db_pass,$this->db_name);
if($this->myconn->connect_errno > 0){
array_push($this->result,$this->myconn->connect_error);
return false;
}else{
$this->con = true;
return true;
}
}else{
return true;
}
}
我将$db\u server、$db\u user、$db\u password、$db\u name
存储到config.php
文件中
每当我想连接到数据库时,我都会使用以下代码:
require_once ($_SERVER['DOCUMENT_ROOT'] . '/config.php');
$product = new Product($db_server, $db_user, $db_password, $db_name);
$product->connect();
不幸的是,该代码生成以下错误日志:
[06-Jan-2017 12:37:50 Asia/Jakarta] PHP Warning: mysqli::mysqli() expects parameter 2 to be string, object given in /home/**/public_html/model/Database.class.php on line 39
第39行包含:
$this->myconn = new mysqli($this->db_host,$this->db_user,$this->db_pass,$this->db_name);
为什么$db\u server、$db\u user、$db\u password、$db\u name
变量标记为对象?如何将其转换为字符串?这样错误就不会再出现了
谢谢。var\u dump($db\u user)并查看它是什么gives@e4c5:它告诉我:字符串(15)“mydb\u用户名”显示db\u用户来自何处please@e4c5:它来源于:require_once($_SERVER['DOCUMENT_ROOT']./config.php')@我刚刚更新了上面的帖子。请检查一下。