【问题标题】:Query two databases with the same query用相同的查询查询两个数据库
【发布时间】: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_HOST2DB_USER = DB_USER2 时才有可能。
  • 谢谢,但我在不同的服务器上有两个不同的数据库

标签: php mysql sql database multiple-databases


【解决方案1】:

看看 PHP PDO 手册

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

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

【讨论】:

    【解决方案2】:

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

    更多详情请见http://www.php.net/manual/en/function.mysql-pconnect.php

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-06-20
      • 2012-11-17
      • 2011-01-20
      • 2010-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多