我们有多个主人同步到奴隶。我们决定为每个主人创建一个数据库(比如MDB0001; MDB0002; MDB0003等......)。如果一个复制失败或数据损坏,这将允许不破坏整个数据库...从属设备用于向Web上的人员显示信息(主设备仅在本地网络中可用)
目的是:我们希望在服务器(从站)上有一个网站(在php中),根据登录的人显示每个数据库的内容。因此,如果用户MDB0001已连接,我们必须读取数据来自数据库MDB0001。
如何做到这一点?这是一个好方法吗?或者,我是否必须为每个数据库复制网站?
我希望我的解释清楚。感谢
答案 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');