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

ThinkPHP5框架实现多数据库连接

作者:站长图库 字体:[增加 减小] 来源:互联网 时间:2022-04-29

站长图库向大家介绍了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机制

相关文章

  • 2022-04-29Photoshop调出梦幻炫彩的菱形背景图
  • 2022-04-29提高关键词排名的28个SEO技巧
  • 2022-04-29影响SEO效果四大因素:服务器稳定性居首
  • 2022-04-29Photoshop制作浮雕立体效果的艺术字
  • 2022-04-29JavaScript如何处理并行请求?四种方式浅析
  • 2022-04-29Photoshop设计国外木纹风格的网页模板
  • 2022-04-29nodeJS把json数据转成excel(xlsx文件)输出
  • 2022-04-29Photoshop设计卡通风格的云彩效果
  • 2022-04-2918个你需要知道的JavaScript优化技巧
  • 2022-04-29Linux怎么查看程序是否在运行状态

文章分类

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

最近更新的内容

    • 如何修改织梦5.7版上一页下一页文字和长度
    • 防止SyntaxHighlighter.js的代码高亮时闪一下的解决方法
    • 利用v-viewer结合vue 预览相册
    • 重新对百度支付进行编写封装(百度智能小程序支付)
    • Photoshop设计金属质感的网页按钮
    • 避坑!Laravel数据库迁移功能的一个坑
    • JS 中 9 个强大主流写法(各种 Hack 写法)
    • 浅谈nodejs利用node-xlsx模块读取excel数据的方法
    • Bootstrap中switch的用法是什么
    • PHP怎么实现评论回复功能

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

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