2010-08-30 32 views
0

我有一个用户类,需要使用我的数据库。要做到这一点,我传递的数据库句柄作为一个构造函数参数,像这样:尝试将句柄作为构造函数参数传递时“调用未定义的方法”

的index.php:

<?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(); 
    } 
} 

?> 

但我得到这个错误:

Fatal error: Call to undefined method mysqli::host_info() in C:\xampp\htdocs\classes\user.class.php on line 10

我不知道什么是错的,也许我错误地将它传递给数据库的句柄,但我想不出任何其他方式来做到这一点。即使我在我的用户类中将$db变量设置为public,我也会得到这个错误。

任何人都可以帮忙吗?谢谢。

回答

0

host_info是不是在这种情况下的方法。这是一个财产。尝试:

echo $this->db->host_info; 
相关问题