首页 > 代码库 > Redbean:入门(四) - 反射机制 以及 事务
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‘; } ?>
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。