tp5连接多个数据库

一、如果你的主数据库配置文件都在config.php里

直接在config.php中中定义db2
在这里插入图片描述
控制器中打印一下:

<?php
namespace app\index\controller;
use think\Controller;
use think\Db;
use think\Request;
class Index extends Controller
{
    public function index()
    {
    	//连接默认的数据库
    	$db1=Db::name('users')
    		->select();

    	//连接定义的第二个数据库
        $db2=Db::connect('db2');
        $result=$db2->name('ceshi')->select();
        print_r($result);die;
        return view('index');
    }
}

在这里插入图片描述

二、如果你的主数据库配置在database.php里

保持原有database.php不更改,在application下新建一个config.php,如果有则直接修改:

[
    "db2" => [
     // 数据库类型1
    'type'            => 'mysql',
    // 服务器地址
     'hostname'        => '127.0.0.1',
    // // 数据库名
     'database'        => 'et_check',
     // 用户名
     'username'        => 'root',
    // // 密码
     'password'        => 'root',
    // 端口
    'hostport'        => '3306',
    // 连接dsn
    'dsn'             => '',
    // 数据库连接参数
    'params'          => [],
    // 数据库编码默认采用utf8
    'charset'         => 'utf8',
    // 数据库表前缀
    'prefix'          => 'check_',
    // 数据库调试模式
    'debug'           => false,
    // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
    'deploy'          => 0,
    // 数据库读写是否分离 主从式有效
    'rw_separate'     => false,
    // 读写分离后 主服务器数量
    'master_num'      => 1,
    // 指定从服务器序号
    'slave_no'        => '',
    // 自动读取主库数据
    'read_master'     => false,
    // 是否严格检查字段是否存在
    'fields_strict'   => true,
    // 数据集返回类型
    'resultset_type'  => 'array',
    // 自动写入时间戳字段
    'auto_timestamp'  => false,
    // 时间字段取出后的默认时间格式
    'datetime_format' => 'Y-m-d H:i:s',
    // 是否需要进行SQL性能分析
    'sql_explain'     => false,
    // Builder类
    'builder'         => '',
    // Query类
    'query'           => '\think\db\Query',
    // 是否需要断线重连
    'break_reconnect' => false,
    // 断线标识字符串
    'break_match_str' => [],
    ]
];

控制器中:

$db2=Db::connect(config('db2'));
$result=$db2->name('ceshi')->select();
相关推荐
©️2020 CSDN 皮肤主题: 猿与汪的秘密 设计师:白松林 返回首页