Welcome

首页 / 网页编程 / PHP / ThinkPHP6 动态连接数据库的方法

ThinkPHP6 动态连接数据库方法


情况说明:在ThinkPHP6中可以快速配置数据库连接,也可以通过database.php中指定多种数据库连接,但在实现使用中可能需要连接的数据库并不是固定的,可以通地动态配置的方式实现动态数据库连接方法,目前仅限于MySQL。

以下方法亲测可用。

//定义动态连接信息

$conparas = [

    // 数据库类型

    'type'            => 'mysql',

    // 服务器地址

    'hostname'        => '',

    // 数据库名

    'database'        => '',

    // 用户名

    'username'        => '',

    // 密码

    'password'        => '',

    // 端口

    'hostport'        => '3306',

];


//获取现有的database配置参数

$database_config = Config::get('database');

//在database配置参数的【connections】下新建自定义的动态连接参数数组

$database_config['connections']['dynamic']= $conparas;

//设置database参数为 修改过的database配置参数

$config = Config::set($database_config, 'database');

//测试连接,connect内填入自定义的连接名称

$data = Db::connect('dynamic')->getTables();

print_r($data);