thinkphp3和thinkPHP5 切换数据库连接

24 篇文章 0 订阅

配置文件的写法

return array(
        'URL_MODEL'=>1, // 如果你的环境不支持PATHINFO 请设置为3,
        'DB_TYPE'=>'mysql',
        'DB_HOST'=>'localhost',
        'DB_NAME'=>'oa',
        'DB_USER'=>'root',
        'DB_PWD'=>'mysql',
        'DB_PORT'=>'3306',
        'DB_PREFIX'=>'oa_',
        'DB_NEW'=>array(
            'URL_MODEL'=>1, // 如果你的环境不支持PATHINFO 请设置为3,
            'DB_TYPE'=>'mysql',
            'DB_HOST'=>'localhost',
            'DB_NAME'=>'ecshop',
            'DB_USER'=>'root',
            'DB_PWD'=>'mysql',            
	    'DB_PORT'=>'3306',
	    'DB_PREFIX'=>'ecs_',
        ),
);

控制器中的写法:

M('collection')->field('guide')->select();  正常的M的话就是找的是第一个数据库中的数据,链接的是第一个数据库
M('admin_action','ecs_','DB_NEW')->select(); 访问DB_New=>array();   找的是DB_NEW中的数据 链接DB_NEW第二个数据库

今天遇到一个问题是在tp中从例外一个数据库的表中取得数据数据库应该要如下配置

return array(
        'URL_MODEL'=>1, // 如果你的环境不支持PATHINFO 请设置为3,
        'DB_TYPE'=>'mysql',
        'DB_HOST'=>'localhost',
        'DB_NAME'=>'oa',
        'DB_USER'=>'root',
        'DB_PWD'=>'mysql',
        'DB_PORT'=>'3306',
        'DB_PREFIX'=>'oa_',
        'DB_NEW'=>array(
            'URL_MODEL'=>1, // 如果你的环境不支持PATHINFO 请设置为3,
            'DB_TYPE'=>'mysql',
            'DB_HOST'=>'localhost',
            'DB_NAME'=>'test',
            'DB_USER'=>'root',
            'DB_PWD'=>'mysql',            
         'DB_PORT'=>'3306',
         'DB_PREFIX'=>' ',
         ),
)
如果表中没有前缀那么这里就写‘’或者‘ ’  而代码哪里就需要写
$xlsData = M('chapters',' ','DB_NEW')->select();    //M()中的第二个参数如果前缀为‘’ 那么就要写个空格  否则搜索不到信息

thinkPHP5

一、在database.php配置默认数据库连接

'type'           => 'mysql',
'hostname'       => '服务器IP地址',
'database'       => '数据库名',
'username'       => '用户名',
'password'       => '密码',
'hostport'       => '数据库端口',

二、在config.php配置第二个数据库连接

'DB_Config_1'=>[
'type'           => 'mysql',
'hostname'       => '服务器IP地址',
'database'       => '数据库名',
'username'       => '用户名',
'password'       => '密码',
'hostport'       => '数据库端口'
],

三、多数据库使用

//默认数据库读取数据
$test = Db::name("test")->select();
//第二个数据库读取数据
$test1=Db::connect("DB_Config_1")->name("test")->select();

在项目开发中需要Thinkphp5读取多个数据库的数据,本文详细介绍Thinkphp5多数据库切换

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值