我的'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的新手,还在学习,我已经尝试了我所知道的一切,所以非常感谢任何帮助。
答案 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”数据库。