·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> php网站开发 >> Redbean:入门(四)

Redbean:入门(四)

作者:佚名      php网站开发编辑:admin      更新时间:2022-07-23
Redbean:入门(四) - 反射机制 以及 事务
<?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';    }        ?>