好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

thinkPHP--多数据库交互通信

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

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

//源数据库   "DB_DSN1"  =>  "mysql://用户名:密码@数据库地址:端口/数据库名称" ,  //目标数据库   "DB_DSN2"  =>  "mysql://用户名:密码@数据库地址:端口/数据库名称" ,  //例如:   "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();

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

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

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

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

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

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

查看更多关于thinkPHP--多数据库交互通信 - Thinkphp的详细内容...

  阅读:74次