一个网站 - 多个数据库

时间:2016-11-16 02:36:41

标签: php mysql

我们有多个主人同步到奴隶。我们决定为每个主人创建一个数据库(比如MDB0001; MDB0002; MDB0003等......)。如果一个复制失败或数据损坏,这将允许不破坏整个数据库...从属设备用于向Web上的人员显示信息(主设备仅在本地网络中可用)

目的是:我们希望在服务器(从站)上有一个网站(在php中),根据登录的人显示每个数据库的内容。因此,如果用户MDB0001已连接,我们必须读取数据来自数据库MDB0001。

如何做到这一点?这是一个好方法吗?或者,我是否必须为每个数据库复制网站?

我希望我的解释清楚。感谢

1 个答案:

答案 0 :(得分:0)

假设您从登录中获取变量,您可以在db.php页面上放置一个key->值数组;

 $userDBs = array('login1'=>'db1','login2'=>'db2');

 $dbName = $userDBs[$loggedinID];  // if login1 logs in, db1 would be result.

  $db = new PDO('mysql:host=localhost;dbname='.$dbName, 'someUser', 'somePass');

或者为关联设置一个单独的数据库:

  $sel = "Select dbName from databases where userId='".$loggedInID."'";
  $stmt = $db->query($sel);
  while($r = $stmt->fetch()){
      $dbName = $r['dbName'];
  }

 $db = new PDO('mysql:host=localhost;dbname='.$dbName, 'someUser', 'somePass');