首页 > 作文

thinkphp 框架数据库切换实现方法分析

更新时间:2023-04-08 18:53:51 阅读: 评论:0

本文实例讲述了thinkphp 框架数据库切换实现方法。分享给大家供大家参考,具体如下:

数据库配置:

 //数据库配置1'db_config1' => [  // 数据库类型  'type'    => 'mysql',  // 服务器地址  'hostname'  => '127.0.0.1',  // 数据库名  'databa'  => 'thinkphp',  // 数据库用户名  'urname'  => 'root',  // 数据库密码  'password'  => '',  // 数据库编码默认采用utf8  'chart'   => '种放utf8',  // 数据库表前缀  'prefix'   => 'think_',],//数据库配置2'db_config2' => 'mysql://root:1234@localhost:3306/thinkphp#utf8';
//默认数据库读取数据$test = db::name("test")->lect();//第二个数据库读取数据$test1=db::connect("db_config_1")->name("test")->lect();

application/config.php

$db1 = [ 'type'=>'mysql', 'hostname'=>'127.0.0.1', 'databa'=>'testa', 'urname'=>'root', 'password'=>'123456', 'hostport'=>'3306', 'params'=>[], 'chart'=>'utf8', 'prefix'=>'', ], $db2 = [ 'type'=>'mysql', 'hostname'=>'127.0.0.1', ataba'=>'testb', 'urname'=>'root', 'password'=>'123456', 'hostport'=>'3306', 'params'=>[], 'chart'=>'utf8', 'prefix'=>'', ], db::connect('db1')->query('lect * from ur where age=25');

方法配置

我们可以在调用db类的时候中华雄动态定义连接信息,例如:

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

或生态文明黑板报者使用字符串方式:

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

字符串连接的定义格式为:

数据库类型://用户名:密码@数据库地址:数据库端口/数据库名#字符集

注意:字符串方式可能无法定义某些参数,例如前缀和连接参数。

如果我们已经在应用配置文件(注意这里不是数据库配置文件)中配置了额外的数据库连接信息,例如:

 //数据库配置1'db_config1' => [  // 数据库类型  'type'    => 'mysql',  // 服务器地址  'hostname'  => '127.0.0.1',  // 数据库名  'databa'  => 'thinkphp',  // 数据库用户名  'urname'  => 'root',  // 数据库密码  'password'  => '',  // 数据库编码默认采用utf8  'chart'   => 'utf8',  // 数据库表前缀  'prefix'   => 'think_',],//数据库配置2'db_config2' => 'mysql://root:1234@localhost:3306/thinkphp#utf8';

我们可以改成

db::connect('db_config1');db::connect('db_config2');

databa.php是框架默认的数据库配置,里面写数据库1的信息,新建了个databa2.php是放置数据库2毕业论文参考文献格式的信息。

创建完数据库2之后,在config配置文件里,文件最后引入数据库2的配置信息

$db_caparton2 = require_once ('databa2.php'),'db_con2' => $db_con2,

代码中引用:

选择数据库1的时候,我是用模型查询的直接写sql语句:

//模型查询$ur = new ur();$result = $ur->where('urname', $data['urname'])        ->where('password', $data['password'])        ->find();

或者

ur::where('id','1')->find();//普通结构查询db::table('think_ur')->where('id',1)->find();

查询数据库2的信息时,调用普通查询语句:

$list = db::connect('db_con2')->table('nrf_amf_reg_info')->alias('r')->join('nrf_amf_rver s','r.id = s.nrf_amf_reg_id','left')->paginate();

或者

$list = db::connect('db_con2')->name('nrf_disc_record')->paginate();

注:nrf_amf_reg_info和nrf_disc_record为表名

本文发布于:2023-04-08 18:53:50,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/e578192fc8c74bd662cec21c50703999.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:thinkphp 框架数据库切换实现方法分析.doc

本文 PDF 下载地址:thinkphp 框架数据库切换实现方法分析.pdf

相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图