我的DB类不会连接,抛出异常“没有选择数据库”

时间:2012-01-20 17:13:13

标签: php oop

我的'dbinterface'类有一个connect函数。当我运行这个时,我得到一个声明说“查询不起作用。没有选择数据库”

class dbinterface {

        private $_dbLink;
    private $dbHost = 'host';
        private $dbUser = 'user';
        private $dbName = 'name';
        private $dbPass = 'pass';
        private $dbUserTable = 'table';

     public function connect ()
    {
        $this->_dbLink = mysql_connect($this->_dbHost, $this->_dbUser, $this->_dbPass);
        if(!$this->_dbLink) 
            throw new Exception ("Could not connect to database. " . mysql_error());
    }

我对公共连接功能进行了更改。

public function connect ()
    {
        $this->dbLink = mysql_connect($this->dbHost, $this->dbUser, $this->dbPass);
        mysql_select_db($this->dbUserTable);
        if(!$this->dbLink) 
            throw new Exception ("Could not connect to database. " . mysql_error());
    }

不幸的是它会输出相同的结果。我是PHP的新手,还在学习,我已经尝试了我所知道的一切,所以非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

除非在查询中使用绝对schema.table类型引用,否则您必须使用mysql_select_db()指定默认数据库。没有它,

SELECT somefield FROM sometable

因“没有选择数据库”而失败,因为MySQL不知道应该查找该表的WHICH数据库。

但这可行:

SELECT somefield FROM name_of_db.name_of_table

没有默认数据库,因为您已明确声明您正在使用“name_of_db”数据库。