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之数据库操作详解及乱码解决!
Jan 02 PHP
php+mysql开源XNA 聚合程序发布 下载
Jul 13 PHP
将数组写入txt文件 var_export
Apr 21 PHP
php的list()的一步操作给一组变量进行赋值的使用
May 18 PHP
PHP mb_convert_encoding文字编码的转换函数介绍
Nov 10 PHP
PHP实现的封装验证码类详解
Jun 18 PHP
PHP获取浏览器信息类和客户端地理位置的2个方法
Apr 24 PHP
PHP mysql事务问题实例分析
Jan 18 PHP
PHP生成及获取JSON文件的方法
Aug 23 PHP
详解yii2实现分库分表的方案与思路
Feb 03 PHP
php获取ip及网址的简单方法(必看)
Apr 01 PHP
三个思路解决laravel上传文件报错:413 Request Entity Too Large问题
Nov 13 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面向接口编程 耦合设计模式 简单范例
2011/03/23 PHP
php中使用base HTTP验证的方法
2015/04/20 PHP
Smarty最简单实现列表奇偶变色的方法
2015/07/01 PHP
Laravel 实现添加多语言提示信息
2019/10/25 PHP
js弹窗代码 可以指定弹出间隔
2010/07/03 Javascript
jquery对象和DOM对象的区别介绍
2013/08/09 Javascript
jquery获取元素值的方法(常见的表单元素)
2013/11/15 Javascript
jquery简单实现鼠标经过导航条改变背景图
2013/12/17 Javascript
javascript鼠标右键菜单自定义效果
2020/12/08 Javascript
js中小数向上取整数,向下取整数,四舍五入取整数的实现(必看篇)
2017/02/13 Javascript
NodeJS测试框架mocha入门教程
2017/03/28 NodeJs
NodeJs中express框架的send()方法简介
2017/06/20 NodeJs
JavaScript 异步调用
2017/10/25 Javascript
jQuery中复合选择器简单用法示例
2018/03/31 jQuery
vue+axios+element ui 实现全局loading加载示例
2018/09/11 Javascript
最简单的JS实现json转csv的方法
2019/01/10 Javascript
js实现图片推拉门效果代码实例
2019/05/18 Javascript
vue项目接口管理,所有接口都在apis文件夹中统一管理操作
2020/08/13 Javascript
解决element-ui的下拉框有值却无法选中的情况
2020/11/07 Javascript
如何在vue中使用kindeditor富文本编辑器
2020/12/19 Vue.js
[02:32]“虐狗”镜头慎点 2016国际邀请赛中国区预选赛现场玩家采访
2016/06/28 DOTA
浅谈Python中的zip()与*zip()函数详解
2018/02/24 Python
python使用Pycharm创建一个Django项目
2018/03/05 Python
对numpy Array [: ,] 的取值方法详解
2018/07/02 Python
pandas分区间,算频率的实例
2019/07/04 Python
django基础学习之send_mail功能
2019/08/07 Python
使用Python调取任意数字资产钱包余额功能
2019/08/15 Python
python检测服务器端口代码实例
2019/08/31 Python
基于Python获取城市近7天天气预报
2019/11/26 Python
你可能不知道的Python 技巧小结
2020/01/29 Python
Python LMDB库的使用示例
2021/02/14 Python
Gloeilampgoedkoop荷兰:在线购买灯泡
2019/02/16 全球购物
医学类导师推荐信范文
2013/11/19 职场文书
销售会计岗位职责
2014/03/15 职场文书
2015年秋学期师德师风建设工作总结
2015/10/23 职场文书
前端canvas中物体边框和控制点的实现示例
2022/08/05 Javascript