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 相关文章推荐
Extended CHM PHP 语法手册之 DIY
Oct 09 PHP
php获取url字符串截取路径的文件名和扩展名的函数
Jan 22 PHP
Windows 下的 PHP-PEAR 安装方法
Nov 20 PHP
php中通过Ajax如何实现异步文件上传的代码实例
May 07 PHP
PHP中计算字符串相似度的函数代码
Dec 29 PHP
Thinkphp多文件上传实现方法
Oct 31 PHP
php实现webservice实例
Nov 06 PHP
PHP分页类集锦
Nov 18 PHP
PHP实现过滤掉非汉字字符只保留中文字符
Jun 04 PHP
Symfony核心类概述
Mar 17 PHP
PHP简单实现模拟登陆功能示例
Sep 15 PHP
php实现微信分享朋友链接功能
Feb 18 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
十天学会php之第六天
2006/10/09 PHP
PHP反射使用实例和PHP反射API的中文说明
2014/07/02 PHP
Yii2框架配置文件(Application属性)与调试技巧实例分析
2019/05/27 PHP
PHP架构及原理知识点详解
2019/12/22 PHP
jquery的Theme和Theme Switcher使用小结
2010/09/08 Javascript
jQuery EasyUI API 中文文档 DateTimeBox日期时间框
2011/10/16 Javascript
纯CSS3代码实现滑动开关效果
2015/08/19 Javascript
原生js实现图片轮播特效
2015/12/18 Javascript
jquery中键盘事件小结
2016/02/24 Javascript
使用BootStrap建立响应式网页——通栏轮播图(carousel)
2016/12/21 Javascript
详解Vue中使用v-for语句抛出错误的解决方案
2017/05/04 Javascript
Vue应用部署到服务器的正确方式
2017/07/15 Javascript
python爬取安居客二手房网站数据(实例讲解)
2017/10/19 Javascript
9种使用Chrome Firefox 自带调试工具调试javascript技巧
2017/12/22 Javascript
JS实现基于拖拽改变物体大小的方法
2018/01/23 Javascript
vuex中的 mapState,mapGetters,mapActions,mapMutations 的使用
2018/04/13 Javascript
服务端预渲染之Nuxt(使用篇)
2019/04/08 Javascript
js图片无缝滚动插件使用详解
2020/05/26 Javascript
layui表格内放置图片,并点击放大的实例
2019/09/10 Javascript
vue中父子组件传值,解决钩子函数mounted只运行一次的操作
2020/07/27 Javascript
[53:44]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Magma BO3 第一场 1月31日
2021/03/11 DOTA
Python中几种操作字符串的方法的介绍
2015/04/09 Python
Python实现将绝对URL替换成相对URL的方法
2015/06/28 Python
Python编程修改MP3文件名称的方法
2017/04/19 Python
Python 常用的安装Module方式汇总
2017/05/06 Python
Random 在 Python 中的使用方法
2018/08/09 Python
python3 json数据格式的转换(dumps/loads的使用、dict to str/str to dict、json字符串/字典的相互转换)
2019/04/01 Python
Django Docker容器化部署之Django-Docker本地部署
2019/10/09 Python
Python 中的 import 机制之实现远程导入模块
2019/10/29 Python
使用pytorch搭建AlexNet操作(微调预训练模型及手动搭建)
2020/01/18 Python
Fox Racing官方网站:越野摩托车和山地自行车装备和服装
2019/12/23 全球购物
销售主管的自我评价分享
2014/01/03 职场文书
毕业班工作总结
2015/08/10 职场文书
合作协议书格式范本
2016/03/21 职场文书
MySQL数据库 任意ip连接方法
2022/05/20 MySQL
Linux中一对多配置日志服务器的详细步骤
2022/07/23 Servers