从此不求人:自主研发一套PHP前端开发框架(13)

18 篇文章 0 订阅
11 篇文章 0 订阅

我们来测试一下
1.新建一张userdetail表,代表是用户详细信息表
2.做一个用户登录的事务
第一条sql:insert into users(username,userpwd,useremail,sex) values(‘zhangs’,’zhangs@com.cn’,’1’);
第二条sql:
mysql中获取自增的id:select LAST_INSERT_ID() into @newuserid;
第三条sql:
insert into usersdetail(userid,userturename,userqq) values(@newuserid,’张三’,”)
第四条sql:
select @newuserid;

functions.inc

    function execForTrac($sqllist,$resulttype) //用事务 来执行
    {

        //$sqllist 参数 是sql数组
        $type=array("none","string","array","int"); //返回类型
        if(!in_array($resulttype,$type)) return false;
        if(count($sqllist)==0) return false;
        $this->_db->BeginTrans(); //开启事务
        $sqlindex=0;
        $ret=false;
        foreach($sqllist as $sql)
        {


            if($sqlindex==(count($sqllist)-1)) //最后一个语句 需要根据返回类型来做不同的处理
            {
                 if($resulttype=="none")
                 {
                      $this->_db->Execute($sql);
                 }
                  else if($resulttype=="array")
                  {
                    $ret=$this->execForArray($sql);
                  }
                  else if($resulttype=="int" || $resulttype=="string")
                  {

                    $ret=$this->execForOne($sql);
                  }
                    else
                    {
                         $ret=$this->execForArray($sql);
                    }

            }
            else
            $this->_db->Execute($sql);
            $sqlindex++;
        }
        if($ret){
          $this->_db->CommitTrans();
        }else{
          $this->_db->RollbackTrans();
        }
        return $ret;
    }

index.inc测试代码部分

$db = load_db();

          $sql[] = "insert into onethink_ucenter_member(username,password,email) values('laikedoud','0931e5bac9c74449eb14fcdbe4223d3c','laike13545@qq.com')";
          $sql[] = 'select LAST_INSERT_ID() into @newuserid';
          $sql[] ="insert into onethink_member(last_login_time,nickname,qq) values(@newuserid,'laikedou','924462390')";
          $sql[] = 'select @newuserid';
          $userid =$db->execForTrac($sql,'int');
          exit('当前用户ID是:'.$userid);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值