zoukankan      html  css  js  c++  java
  • QeePHP的事务安全支持

    Qee对事务提供了简单的支持,当然只有在存储引擎支持事务的前提下! 比如我们的的用户表分为用户基本表member表和用户详细信息表memberfield表,他们为一对一hasone,memberfield存有member表的主键uid,假设关联的属性为field 当我们更新用户信息时,可能同时要更新member表,和memberfield表,比如: $user = $this->_app->currentUserObject(); if ($this->_context->isPOST()) { $user->nickname = trim($this->_context->nickname); $user->field->sex = $this->_context->sex; $user->save(); } 假设现在nickname没有问题,而提供的sex数据有问题,并且导致数据库插入失败,极有可能导致同一个请求nickname更改成功,sex失败,这个可能还不会导致很严重的问题,如果涉及到一些重要数据,例如电子商务等就严重了! 在Qee中添加事务比较简单,如下: $user = $this->_app->currentUserObject(); if ($this->_context->isPOST()) { QDB::getConn()->startTrans(); try { $user->nickname = trim($this->_context->nickname); $user->field->sex = $this->_context->sex; $user->save(); } catch (QException $e) { QDB::getConn()->completeTrans(false); // 友好的错误提示... } QDB::getConn()->completeTrans(true); }
  • 相关阅读:
    scrapy通过修改配置文件发送状态邮件
    python高级编程读书笔记(一)
    linux,mac安装sentry
    mac安装sentry
    pop3设置
    流程图
    车险或将二次费改 又可以省钱了?
    ATM:模拟实现一个ATM + 购物商城程序
    作业1开发一个简单的python计算器
    re正则表达式
  • 原文地址:https://www.cnblogs.com/cnsanshao/p/2253528.html
Copyright © 2011-2022 走看看