Php &引用;调用未定义的方法“;尝试将句柄作为构造函数参数传递时
我有一个需要使用数据库的用户类。为此,我将数据库句柄作为构造函数参数传递,如下所示: index.php:Php &引用;调用未定义的方法“;尝试将句柄作为构造函数参数传递时,php,database,class,constructor,handle,Php,Database,Class,Constructor,Handle,我有一个需要使用数据库的用户类。为此,我将数据库句柄作为构造函数参数传递,如下所示: index.php: <?php include('classes/user.class.php'); $db = new mysqli('localhost', 'root', '', 'testdb'); if ($mysqli->connect_error) { die('Database connection failed (' . $mysqli->connect_err
<?php
include('classes/user.class.php');
$db = new mysqli('localhost', 'root', '', 'testdb');
if ($mysqli->connect_error)
{
die('Database connection failed (' . $mysqli->connect_errno . ') ' . $mysqli->connect_error);
}
$user = new User($db);
$db->close();
?>
user.class.php:
<?php
class User
{
private $db;
function __construct($db)
{
$this->db = $db;
echo $this->db->host_info();
}
}
?>
但我得到了这个错误:
致命错误:调用未定义的方法
mysqli::中的主机信息()
C:\xampp\htdocs\classes\user.class.php
第10行
我不确定出了什么问题,可能是我错误地将句柄传递给了数据库,但我想不出任何其他方法。即使我在我的用户类中将$db
变量设置为public,也会出现此错误
有人能帮忙吗?谢谢。主机信息不是方法,而是对象的属性 你应使用:
echo $this->db->host_info;
有关更多信息,请参阅官方文档:
主机信息不是一个方法,它是对象的一个属性 你应使用:
echo $this->db->host_info;
有关更多信息,请参阅官方文档:
在这种情况下,主机信息不是一种方法。这是一种财产。尝试:
echo $this->db->host_info;
在这种情况下,主机信息不是一种方法。这是一种财产。尝试:
echo $this->db->host_info;
唉。我应该发现的。谢谢,叹气。我应该发现的。谢谢