开发多租户应用程序。我需要一个想法。因为我现在在一条没有光线的黑暗隧道中 从两个不同的位置将涉及两个数据库。
我想要达到的目标是:
希望得到想法并给我一些启发。谢谢!
这是我尝试过的:
public function func_get_user($id){
$tenant = $this->client_info_func($id); // this is function to get Tenant credential from Database A for using in database B
if (!empty($tenant)) {
$pdo_client = $this->cliend_db_conn($tenant['client_db_name'],$tenant['client_db_username'],$tenant['client_db_pass'],$tenant['client_db_ip']); // this is the function to initiate PDO connection to Database B
$Q = "SELECT user_id,user_name,client_id FROM user WHERE client_id =:id";
$R = $pdo_client->prepare($Q);
$R->bindParam(':id', $id);
$R->execute();
$result = $R->fetch(PDO::FETCH_ASSOC);
return $result;
}else{
echo 'Sorry! you are not allowed tenant';
}
}
答案 0 :(得分:2)
您尚未发布任何代码。但逻辑如下:
正常使用PDO连接到数据库A:
@ManyToOne
然后在数据库A上运行此查询:
$pdo_db_A = new PDO(... ;dbname='database_A', 'db_A_username', 'db_A_password');
使用PHP变量获取数据,例如数组:
SELECT username, password FROM database_A_table WHERE user_id = ...
与数据库B建立单独的PDO连接并传递详细信息:
$db['username'] = $row['username']; // $row being from the above query
$db['password'] = $row['password'];