我试图运行一个可以联系多个数据库的数据库类。我有这样设置:PHP多次使用多个变量初始化一个类
$auth = new Auth($db['host'], $db['user'], $db['name']['api'], $db['pass']['api']);
$apiuser = new APIUser($db['host'], $db['user'], $db['name']['users'], $db['pass']['users']);
所有这些$ db数组变量工作正常,但它是没有的类。在每一类的__construct功能,我有这样的:
function __construct($dbh, $dbu, $dbn, $dbp) {
$this->db = new DB($dbh, $dbu, $dbn, $dbp);
}
然而,当我尝试运行$这个 - > DB->查询(“我在这里查询”); (它包含一个带输入变量的简单返回mysql_query),它返回一个布尔值而不是资源ID ...这是因为该类正在恢复到用户数据库而不是api数据库,因为$ apiuser出现在$ apiauth之后...
如果这有什么意义,我真的可以用一些帮助!谢谢!
编辑:DB类的部分给予错误:
function __construct($host, $user, $name, $pass) {
$this->error = new Error();
if(!mysql_connect($host, $user, $pass)) {
$this->error->db_connect_error($host, $user, $pass);
}
if(!mysql_select_db($name)) {
$this->error->db_select_error($name);
}
}
function query($input) {
return mysql_query($input);
}
很高兴看到DB类以及 – kennypu 2013-03-16 03:05:21
刚刚发布它,谢谢! – nwilging 2013-03-16 03:07:24
我想说这是一种糟糕的做法直接返回$资源,它可能会更好地返回实际结果。无论如何,如果它返回FALSE,这意味着:1.你的查询有错误2.数据库连接有错误3.给定的用户没有权限访问表。 – kennypu 2013-03-16 03:10:32