码迷,mamicode.com
首页 > 数据库 > 详细

Redbean:入门(四) - 反射机制 以及 事务

时间:2014-08-02 23:09:24      阅读:223      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   os   io   文件   数据   cti   

<?php
    //引入rb入口文件
    include_once ‘rb.php‘;
    
    //定义dsn以及相关的数据
    $dsn = ‘mysql:host=localhost;dbname=hwibs_model‘;
    $user = ‘root‘;
    $pass = ‘‘;
    $table = ‘link‘;
    
    //链接数据库
    R::setup($dsn,$user,$pass);
    
    //链接数据表
    $handler = R::dispense($table);
    
    //inspect::反射表,将表的字段结构返回出来
    //1.以一维数组打印出来
    //2.如果不传参数,就是反射出所有的表名来,也是一维数组[所以说我们如果想得到所有表的反射,则可以先进行第二步,在进行第一步]
    $result = R::inspect();//或者可以传一个table名称进去
    
    //addDatabase::建立一个通信管道[事实上就是多个数据库句柄了]
    R::addDatabase("j1",$dsn,$user,$pass);//第一个参数为自定义名称
    R::addDatabase("j2",$dsn,$user,$pass);
    R::addDatabase("j3",$dsn,$user,$pass);
    R::addDatabase("j4",$dsn,$user,$pass);
    
    //selectDatabase::选择一个已建立好的通信管道[不知道这样切换的意义有什么好处呢????]
    //1.当然,你可以传入“default”,来选择一个你最初由setup建立的管道
    R::selectDatabase("j4");
    
    R::freeze(true);
    
    //事务操作
    //1.begin开启一个事务
    //2.执行store操作或exec操作
    //3.捕获异常,如果出现异常则需要回滚事务
    //4.否则则正常提交事务即可
    try{
        R::begin();
        R::store($handler);
        R::commit();
    }catch (Exception $e){
        R::rollback();
    }
    
    //事务操作::没看出来有什么大用处,事实上就是将begin、commit或失败的rollback系统集成了而已,
    //1.我们要做的就是执行sql就好了
    //2.但是注意前提是关闭了mysql自动提交的功能
    R::transaction("t1");
    function t1(){
        echo ‘执行store或exec‘;
    }
    
    
?>

 

Redbean:入门(四) - 反射机制 以及 事务,布布扣,bubuko.com

Redbean:入门(四) - 反射机制 以及 事务

标签:style   blog   color   os   io   文件   数据   cti   

原文地址:http://www.cnblogs.com/shibazi/p/3887528.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!