网站地图    收藏   

主页 > 后端 > thinkphp教程 >

thinkPHP--多数据库交互通信 - Thinkphp

来源:自学PHP网    时间:2014-11-28 23:17 作者: 阅读:

[导读] 下面是数据库备份的例子,从一个数据库中取数据复制到另一个数据库中 1,在config php中配置实用的数据库信息 源数据库DB_DSN1=mysql:...

thinkPHP--多数据库交互通信

下面是数据库备份的例子,从一个数据库中取数据复制到另一个数据库中.

1,在config.php中配置实用的数据库信息

  1. //源数据库 
  2. "DB_DSN1" => "mysql://用户名:密码@数据库地址:端口/数据库名称"
  3. //目标数据库 
  4. "DB_DSN2" => "mysql://用户名:密码@数据库地址:端口/数据库名称"
  5. //例如: 
  6. "DB_DSN1" => "mysql://user:123@127.0.0.1:3306/db1"

2,使用方法

1) 从config.php取配置信息

$dsn1=C('DB_DSN1');

$dsn2=C("DB_DSN2");

2) 定义模型

$model=new Model();

$model->db("1",$dsn1);//将模型默认定义为dsn1

3) 定义需要查询的源数据表

$table=$model->db("1")->table('查询的表名称');

$data=$table->where(查询条件)->select();

4) 将源数据库数据存入目标数据表

  1. foreach($data as $val){ 
  2.        $model->db("2",$dsn2)->query("SET FOREIGN_KEY_CHECKS=0;"); 
  3.        //保存 
  4.        $rev=$model->db("2",$dsn2)->table($table)->where($mWhere)->save($val); 
  5.        //添加 
  6.        //$rev=$model->db("2",$dsn2)->table($table)->add($val); 
  7.      } 
  8.       //上面的的操作将数据库又指向了目标数据库 
  9.      //还可以使用这样的查询$model->db("2",$dsn2)->query("SET FOREIGN_KEY_CHECKS=0;"); 

通过上面的4步可以使不同的数据库来回的切换.

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论