yii框架builder、update、delete使用方法


Posted in PHP onApril 30, 2014

Yii自带的query builder还是很好用的,省去了拼sql的过程,今天在写一个语句的时候遇到这样一个问题

$connection = Yii::app()->db;
$command = $connection->createCommand();
$operate_rst = 0;
if(!empty($_POST['lid'])){
    $operate_rst = $command->update('emg_landing', $landing_info, 'lid=:lid', array(':lid' => $_POST['lid']));
}
else{
    $operate_rst = $command->insert('emg_landing', $landing_info);
}
$connection->active = false;
if($operate_rst > 0){
    Functions::returnOk('OK!');
}
Functions::returnErrorJson();

用 $operate_rst 来记录操作结果,执行新建insert没有问题,但是在更新时候,有时会显示操作失败,检查了半天,也找不到原因,只好去翻文档

http://www.yiiframework.com/doc/api/1.1/CDbCommand#update-detail

看到return那一项是

{return}    integer    number of rows affected by the execution.

瞬间明白问题了,因为有的时候可能没有改数据但是触发了更新操作,所以这时候受更改的行数为0,返回的判断就进入到错误代码里。。

同理,delete() 和 insert() 的方法返回值意义也是受到影响的行数,所以delete和insert可以根据返回值是否大于0来判断操作是否成功,但是update操作不一定,返回值为0也有可能表示对DB操作成功。

PHP 相关文章推荐
简单的页面缓冲技术
Oct 09 PHP
给php新手谈谈我的学习心得
Feb 25 PHP
让PHP COOKIE立即生效,不用刷新就可以使用
Mar 09 PHP
PHP环境中Memcache的安装和使用
Nov 05 PHP
盘点PHP和ASP.NET的10大对比!
Dec 24 PHP
详解Window7 下开发php扩展
Dec 31 PHP
Yii2 rbac权限控制操作步骤实例教程
Apr 29 PHP
微信网页授权(OAuth2.0) PHP 源码简单实现
Aug 29 PHP
PHP面向对象程序设计组合模式与装饰模式详解
Dec 02 PHP
MAC下通过改apache配置文件切换php多版本的方法
Apr 26 PHP
Docker搭建自己的PHP开发环境
Feb 24 PHP
php封装实现钉钉机器人报警接口的示例代码
Aug 08 PHP
yii框架表单模型使用及以数组形式提交表单数据示例
Apr 30 #PHP
php+js iframe实现上传头像界面无跳转
Apr 29 #PHP
php数组查找函数in_array()、array_search()、array_key_exists()使用实例
Apr 29 #PHP
PHP的MVC模式实现原理分析(一相简单的MVC框架范例)
Apr 29 #PHP
php中使用getimagesize获取图片、flash等文件的尺寸信息实例
Apr 29 #PHP
PHP include任意文件或URL介绍
Apr 29 #PHP
php调用google接口生成二维码示例
Apr 28 #PHP
You might like
第4章 数据处理-php字符串的处理-郑阿奇(续)
2011/07/04 PHP
php中get_defined_constants函数用法实例分析
2015/05/12 PHP
PHP中isset与array_key_exists的区别实例分析
2015/06/02 PHP
网页的分页下标生成代码(PHP后端方法)
2016/02/03 PHP
PHP中$GLOBALS['HTTP_RAW_POST_DATA']和$_POST的区别分析
2017/07/03 PHP
基于PHP实现栈数据结构和括号匹配算法示例
2017/08/10 PHP
PHP实现正则表达式分组捕获操作示例
2018/02/03 PHP
json对象转字符串如何实现
2012/12/02 Javascript
ExtJS自定义主题(theme)样式详解
2013/11/18 Javascript
Node.js中的缓冲与流模块详细介绍
2015/02/11 Javascript
jquery实现未经美化的简洁TAB菜单效果
2015/08/28 Javascript
浅析2种JavaScript继承方式
2015/12/04 Javascript
jQuery dataTables与jQuery UI 对话框dialog的使用教程
2016/09/02 Javascript
js给table赋值的实例代码
2016/10/13 Javascript
EditPlus中的正则表达式 实战(4)
2016/12/15 Javascript
详解JavaScript的BUG和错误
2018/05/07 Javascript
[49:12]完美世界DOTA2联赛PWL S2 Magma vs GXR 第二场 11.29
2020/12/02 DOTA
跟老齐学Python之for循环语句
2014/10/02 Python
Python内置的HTTP协议服务器SimpleHTTPServer使用指南
2016/03/30 Python
tf.truncated_normal与tf.random_normal的详细用法
2018/03/05 Python
Python使用Matplotlib模块时坐标轴标题中文及各种特殊符号显示方法
2018/05/04 Python
解决python升级引起的pip执行错误的问题
2018/06/12 Python
Django和Flask框架优缺点对比
2019/10/24 Python
Python中使用threading.Event协调线程的运行详解
2020/05/02 Python
css3的transform造成z-index无效解决方案
2014/12/04 HTML / CSS
ECCO爱步加拿大官网:北欧丹麦鞋履及皮具品牌
2017/07/08 全球购物
Veronica Beard官网:在酷、经典和别致之间找到了平衡
2018/01/11 全球购物
美国球鞋寄卖网站:Stadium Goods
2018/05/09 全球购物
德国2018年度最佳在线药房:Bodfeld Apotheke
2019/11/04 全球购物
英国最好的包装供应商:Priory Direct
2019/12/17 全球购物
高三毕业寄语
2014/04/10 职场文书
文明礼仪标语
2014/06/13 职场文书
迁徙的鸟观后感
2015/06/09 职场文书
法定代表人资格证明书
2015/06/18 职场文书
Python 的 sum() Pythonic 的求和方法详细
2021/10/16 Python
Redis唯一ID生成器的实现
2022/07/07 Redis