• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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:描述有不到位的敬请提出问题

    更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。

    希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

    您可能感兴趣的文章:
    • PHP连接MySQL数据库三种实现方法
    • PHP连接SQL server数据库测试脚本运行实例
    • PHP连接MySQL数据库操作代码实例解析
    • PHP实现单例模式建立数据库连接的方法分析
    • 解决php用mysql方式连接数据库出现Deprecated报错问题
    • php pdo连接数据库操作示例
    • PHP连接MySQL数据库的三种方式实例分析【mysql、mysqli、pdo】
    • php连接mysql数据库最简单的实现方法
    • thinkphp3.2同时连接两个数据库的简单方法
    • 详解PHP中的数据库连接持久化
    上一篇:tp5(thinkPHP5框架)时间查询操作实例分析
    下一篇:PHP微信网页授权的配置文件操作分析
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    thinkPHP5框架实现多数据库连接,跨数据连接查询操作示例 thinkPHP5,框架,实现,多,数据库,