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 相关文章推荐
php实现图片添加描边字和马赛克的方法
Dec 10 PHP
php使用Session和文件统计在线人数
Jul 04 PHP
php使用ZipArchive函数实现文件的压缩与解压缩
Oct 27 PHP
php简单实现短网址(短链)还原的方法(测试可用)
May 09 PHP
详谈phpAdmin修改密码后拒绝访问的问题
Apr 03 PHP
PHP快速推送微信模板消息
Apr 14 PHP
php注册系统和使用Xajax即时验证用户名是否被占用
Aug 31 PHP
thinkphp5.0自定义验证规则使用方法
Nov 16 PHP
PHP设计模式之状态模式定义与用法详解
Apr 02 PHP
php实现微信支付之企业付款
May 30 PHP
php+croppic.js实现剪切上传图片功能
Aug 14 PHP
基于PHP实现解密或加密Cloudflar邮箱保护
Jun 24 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入门教程 精简版
2009/12/13 PHP
php实现分页工具类分享
2014/01/09 PHP
php使用simplexml_load_file加载XML文件并显示XML的方法
2015/03/19 PHP
PHP安装memcached扩展笔记
2015/05/28 PHP
phpStudy2016 配置多个域名期间遇到的问题小结
2017/10/19 PHP
详解PHP发送邮件知识点
2018/05/06 PHP
清华大学出版的事半功倍系列 javascript全部源代码
2007/05/04 Javascript
file模式访问网页时iframe高度自适应解决方案
2013/01/16 Javascript
js判断url是否有效的两种方法
2014/03/04 Javascript
Jquery仿IGoogle实现可拖动窗口示例代码
2014/08/22 Javascript
Dojo Javascript 编程规范 规范自己的JavaScript书写
2014/10/26 Javascript
Node.js中的模块机制学习笔记
2014/11/04 Javascript
你不知道的高性能JAVASCRIPT
2016/01/18 Javascript
适用于javascript开发者的Processing.js入门教程
2016/02/24 Javascript
浅谈js中的in-for循环
2016/06/28 Javascript
使用JavaScript获取Request中参数的值方法
2016/09/27 Javascript
JavaScript中的 attribute 和 jQuery中的 attr 方法浅析
2017/01/04 Javascript
node实现定时发送邮件的示例代码
2017/08/26 Javascript
javascript trie前缀树的示例
2018/01/29 Javascript
react-native封装插件swiper的使用方法
2018/03/20 Javascript
vue实现动态按钮功能
2019/05/13 Javascript
如何测量vue应用运行时的性能
2019/06/21 Javascript
使用layui监听器监听select下拉框,事件绑定不成功的解决方法
2019/09/28 Javascript
不依任何赖第三方,单纯用vue实现Tree 树形控件的案例
2020/09/21 Javascript
vue实现拖拽进度条
2021/03/01 Vue.js
Django xadmin开启搜索功能的实现
2019/11/15 Python
python实现字典嵌套列表取值
2019/12/16 Python
实例教程 纯CSS3打造非常炫的加载动画效果
2014/11/05 HTML / CSS
h5封装下拉刷新
2020/08/25 HTML / CSS
AC Lens:购买隐形眼镜
2017/02/26 全球购物
ellesse美国官方商店:意大利高级运动服品牌
2019/10/29 全球购物
澳大利亚网上书店:QBD
2021/01/09 全球购物
竞选班干部演讲稿400字
2014/08/20 职场文书
图书借阅制度范本
2015/08/06 职场文书
小学生大队委竞选稿
2015/11/20 职场文书
详解Nginx启动失败的几种错误处理
2021/04/01 Servers