繁体   English   中英

如何使用单个PDO实例处理多个数据库?

[英]How to handle multiple databases with single PDO instance?

我有点问题 我写了一个PDO包装器,使我可以对数据库执行查询。

现在我的应用程序是多租户的,这意味着我需要不同的数据库。 数据源结构的结构如下:

(1) Main Db 

(n) Tenant DB

因此,我有一个拥有我所有公司的主数据库,还有一个拥有登录凭据和用户公司信息的数据库。

当我的应用程序启动时,我这样调用数据库包装器:

$this->db = new Database('host', 'name', 'user', 'pass');

这将在index.php使用默认配置创建一个实例。 当我的用户登录时,我将其数据库的连接设置存储到全局变量中。

现在的问题是,我需要稍后使用config.php数据库凭据,因此我需要在每个模型方法中一次又一次地重新声明数据库对象。 这种情况很痛苦。

我该如何解决?

如果mysql用户可以访问两个数据库,则只需在数据库名称前添加表名称即可:

SELECT id,name FROM database_name.users_table

如果您需要以其他用户身份登录,则可以,您需要创建一个新的PDO实例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM