使用相同的查询查询两个数据库

时间:2014-06-24 22:25:01

标签: php mysql sql database multiple-databases

我需要在两个不同的数据库上运行相同的查询。

我编辑了我以前的db类获取此

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来保存数据库链接,但它似乎无法正常工作。

非常感谢

2 个答案:

答案 0 :(得分:0)

查看PHP PDO手册

http://www.php.net//manual/en/book.pdo.php

使用PDO,您可以同时建立两个连接,然后您也可以在两个不同的数据库上运行两个查询;)

答案 1 :(得分:0)

您可以使用mysql_pconnect()来建立与MySQL数据库的持久连接。然后,您可以保存链接以供将来参考。

有关详细信息,请参阅http://www.php.net/manual/en/function.mysql-pconnect.php