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 相关文章推荐
windows下升级PHP到5.3.3的过程及注意事项
Oct 12 PHP
php安全开发 添加随机字符串验证,防止伪造跨站请求
Feb 14 PHP
探寻PHP脚本不报错的原因
Jun 12 PHP
PHP实现懒加载的方法
Mar 07 PHP
再谈PHP中单双引号的区别详解
Jun 12 PHP
php版微信公众平台之微信网页登陆授权示例
Sep 23 PHP
浅谈PHP命令执行php文件需要注意的问题
Dec 16 PHP
php获取目录中所有文件名及判断文件与目录的简单方法
Mar 04 PHP
PHPMailer使用QQ邮箱实现邮件发送功能
Aug 18 PHP
PHP数组去重的更快实现方式分析
May 09 PHP
Laravel框架路由和控制器的绑定操作方法
Jun 12 PHP
浅谈Laravel POST,PUT,PATCH 路由的区别
Oct 15 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
用libtemplate实现静态网页生成
2006/10/09 PHP
PHP中数组合并的两种方法及区别介绍
2012/09/14 PHP
php获取CSS文件中图片地址并下载到本地的方法
2014/12/02 PHP
Zend Framework框架路由机制代码分析
2016/03/22 PHP
ThinkPHP3.2.2实现持久登录(记住我)功能的方法
2016/05/16 PHP
php操作mongodb封装类与用法实例
2018/09/01 PHP
Javascript的IE和Firefox兼容性汇编(zz)
2007/02/02 Javascript
JavaScript具有类似Lambda表达式编程能力的代码(改进版)
2010/09/14 Javascript
JavaScript Accessor实现说明
2010/12/06 Javascript
javascript实现的HashMap类代码
2014/06/27 Javascript
CSS3,HTML5和jQuery搜索框集锦
2014/12/02 Javascript
javascript框架设计读书笔记之模块加载系统
2014/12/02 Javascript
js打造数组转json函数
2015/01/14 Javascript
javascript中substring()、substr()、slice()的区别
2015/08/30 Javascript
开启BootStrap学习之旅
2016/05/04 Javascript
jQuery选择器实例应用
2017/01/05 Javascript
vue 的keep-alive缓存功能的实现
2018/03/22 Javascript
详解vue的diff算法原理
2018/05/20 Javascript
浅谈webpack4 图片处理汇总
2018/09/12 Javascript
JS实现移动端双指缩放和旋转方法
2019/12/13 Javascript
python选择排序算法的实现代码
2013/11/21 Python
浅谈Python中的数据类型
2015/05/05 Python
python动态性强类型用法实例
2015/05/09 Python
用python结合jieba和wordcloud实现词云效果
2017/09/05 Python
Python如何用wx模块创建文本编辑器
2020/06/07 Python
Docker如何部署Python项目的实现详解
2020/10/26 Python
mac系统下安装pycharm、永久激活、中文汉化详细教程
2020/11/24 Python
HTML5实现的震撼3D焦点图动画的示例代码
2019/09/26 HTML / CSS
HTML5之SVG 2D入门3—文本与图像及渲染文本介绍
2013/01/30 HTML / CSS
Infababy英国:婴儿推车、Travel System婴儿车和婴儿汽车座椅销售
2018/05/23 全球购物
自我评价个人范文
2013/12/16 职场文书
业务员的岗位职责
2014/03/15 职场文书
个人贷款承诺书
2014/03/28 职场文书
基于Redis实现分布式锁的方法(lua脚本版)
2021/05/12 Redis
Mysql排查分析慢sql之explain实战案例
2022/04/19 MySQL
Java线程的6种状态与生命周期
2022/05/11 Java/Android