2013-08-24 20 views
4

越来越数据库名称我犯了一个包装类以下语法的mysqli:PHP:从自己的mysli类

class mydb extends mysqli 
{ 
    .... 
} 

我创建的实例如下所示:

$conn = new mydb($host $username , $pass, $dbname); 

我是想知道 - 我如何从班内访问$dbname? 我正在寻找一个mysql_db_name()函数的mysqli等价物。

+0

这看起来像一个不必要的包装,以我 –

+0

如果不确定对如何处理一个包装,然后研究一个是已经在使用。 https://github.com/ajillion/PHP-MySQLi-Database-Class –

回答

4

您可以随时使自己的类具有一个字段变量,并引用一个mysqli对象和数据库名称。

class MyDatabase { 

    public $dbi; 
    public $dbname; 

    function __construct($host, $user, $pass, $db) { 
     $this->dbi = new mysqli($host, $user, $pass, $db); 
     $this->dbname = $db; 
    } 

} 

$mydb = new MyDatabase($host, $user, $pass, $db); 

//Access db name that was stored during connection 
echo $mydb->dbname; 
12

您可以使用此SQL查询从你自己的类:

SELECT database() AS the_db 

这应该告诉你,你已经选择了当前DB。

+3

这应该是我认为的最佳答案 – patentul

+0

这是最好的答案。 – thinsoldier