• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >建站教程 > ThinkPHP5框架实现多数据库连接

ThinkPHP5框架实现多数据库连接

作者:站长图库 字体:[增加 减小] 来源:互联网

站长图库向大家介绍了ThinkPHP5框架,多数据库连接等相关知识,希望对您有所帮助

下面给大家介绍thinkPHP5框架实现多数据库连接,跨数据连接查询操作,希望对需要的朋友有所帮助!


具体如下:

1、多数据库连接

方法1:在需要连接其他数据库的地方,使用Db::connect()方法动态连接数据库,方法参数为数据库配置的数组或字符串

例如:

字符串参数:

Db::connect('mysql://root:1234@127.0.0.1:3306/thinkphp#utf8');

配置数组参数:

Db::connect([    // 数据库类型    'type'    => 'mysql',    // 数据库连接DSN配置    'dsn'     => '',    // 服务器地址    'hostname'  => '127.0.0.1',    // 数据库名    'database'  => 'thinkphp',    // 数据库用户名    'username'  => 'root',    // 数据库密码    'password'  => '',    // 数据库连接端口    'hostport'  => '',    // 数据库连接参数    'params'   => [],    // 数据库编码默认采用utf8    'charset'   => 'utf8',    // 数据库表前缀    'prefix'   => 'think_',]);

详细用法参考thinkphp5完全开发手册:https://www.kancloud.cn/manual/thinkphp5/118059


方法2:在应用配置文件里面添加多个数据库配置

例如:

'database1' => []//数据库配置数组 'database2' => []//数据库配置数组

在需要连接时,使用Db::connect("database1")连接指定数据库,执行数据库操作时直接在连接后链式写函数,例如:

$db = Db::connect("database1");$db->name("table")->select();


2、跨数据库连接查询

方法1:利用Db::query("sql")方法执行sql语句,在sql语句中使用database.table的方式指明数据库及表

例如:

连接查询数据库database1中表table1与数据库database2中表table2中id相等的数据

select * from database1.table1 as t1 inner join database2.table2 as t2 where t1,id=t2.id


方法2:利用循环分别查询不同数据库

现在database1中查询数据,遍历查询结果集,分别查询database2中的满足条件的数据进行拼接

PS:描述有不到位的敬请提出问题


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • ThinkPHP5框架中Redis是如何使用和封装?
  • 简析Thinkphp5框架通过模型进行增删改查
  • ThinkPHP5框架实现多数据库连接
  • 介绍thinkphp5框架中的hook机制

相关文章

  • 一分钟学会Docker安装phpmyadmin
  • JavaScript中Number()方法的两种用法
  • Phpstudy:80或者3306端口占用解决方案
  • 33个非常实用的JavaScript一行代码,建议收藏!
  • dedecms网站列表调用文章或图集的第一张图片原图
  • Laravel8.5添加用户权限管理的方法详解
  • 如何解决php md5生成16位出现乱码问题
  • 利用图层样式制作漂亮的彩色霓虹字
  • PHP如何使用Echarts生成数据统计报表
  • 织梦DedeCMS时隔多年,终于更新了!(DedeCMSV5.7版下载)

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • Javascript怎么删除对象的属性
    • YII如何将对象转化为数组或直接输出为json格式
    • Discuz! X3.4特殊字符乱码解决方案!
    • Photoshop制作华丽的金色礼品字
    • 分析laravel8.X关于按照官网的方式使用docker安装和集成本地开发环境遇到的问题
    • 完全掌握thinkphp的事件绑定、监听和订阅
    • 20款wordpress的SEO插件
    • Javascript怎么实现四位随机验证码
    • Ember.js和Vue.js对比,哪个框架更优秀?
    • AI制作立体三维线条字母标志

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有