【发布时间】:2014-08-15 08:21:58
【问题描述】:
我需要在两个不同的数据库上运行相同的查询。
我编辑了我以前的数据库类来获得这个
class Db {
function connect() {
$db = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD) or die("Error");
mysql_select_db(DB_NAME, $db);
return $db;
}
function connect2() {
$db = mysql_connect(DB_HOST2, DB_USER2, DB_PASSWORD2) or die("Error 2");
mysql_select_db(DB_NAME2, $db);
return $db;
}
function sql_query($sql) {
$result = mysql_query($sql, $this->connect()) or die(mysql_error());
$result2 = mysql_query($sql, $this->connect2()) or die(mysql_error());
} }
有没有办法避免每次都连接到数据库?我已经尝试使用 $GLOBALS 来保存数据库链接,但它似乎不起作用。
非常感谢
【问题讨论】:
-
您真的有两个不同的数据库主机/用户/密码组合,还是它们相同?如果它们相同,则可以使用单个连接查询两个数据库:
SELECT * FROM db1.table2 as a,db2.table2 as b;。同样,只有在DB_HOST=DB_HOST2和DB_USER=DB_USER2时才有可能。 -
谢谢,但我在不同的服务器上有两个不同的数据库
标签: php mysql sql database multiple-databases