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控制linux服务器常用功能 关机 重启 开新站点等
Sep 05 PHP
php获取新浪微博数据API实例
Nov 12 PHP
修改apache配置文件去除thinkphp url中的index.php
Jan 17 PHP
php使用GeoIP库实例
Jun 27 PHP
PHP易混淆函数的区别及用法汇总
Nov 22 PHP
php读取远程gzip压缩网页的方法
Dec 29 PHP
PHP也能干大事 随机函数
Apr 14 PHP
配置eAccelerator和XCache扩展来加速PHP程序的执行
Dec 22 PHP
php制作的简单验证码识别代码
Jan 26 PHP
PHP封装mysqli基于面向对象的mysql数据库操作类与用法示例
Feb 25 PHP
PHP实现笛卡尔积算法的实例讲解
Dec 22 PHP
PHP程序员简单的开展服务治理架构操作详解(三)
May 14 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
Yii PHP Framework实用入门教程(详细介绍)
2013/06/18 PHP
深入浅出php socket编程
2015/05/13 PHP
php简单解析mysqli查询结果的方法(2种方法)
2016/06/29 PHP
PHP ADODB生成下拉列表框功能示例
2018/05/29 PHP
javascript运动详解
2015/07/06 Javascript
微信开发 微信授权详解
2016/10/21 Javascript
js实现弹窗暗层效果
2017/01/16 Javascript
Webpack常见静态资源处理-模块加载器(Loaders)+ExtractTextPlugin插件
2017/06/29 Javascript
JS实现下拉菜单列表与登录注册弹窗效果
2017/08/10 Javascript
React Native日期时间选择组件的示例代码
2018/04/27 Javascript
JavaScript对象的特性与实践应用深入详解
2018/12/30 Javascript
详解VUE前端按钮权限控制
2019/04/26 Javascript
Typescript的三种运行方式(小结)
2019/09/18 Javascript
JS插入排序简单理解与实现方法分析
2019/11/25 Javascript
基于vue的tab-list类目切换商品列表组件的示例代码
2020/02/14 Javascript
python操作xml文件详细介绍
2014/06/09 Python
Python新手实现2048小游戏
2015/03/31 Python
使用python遍历指定城市的一周气温
2017/03/31 Python
python复制文件到指定目录的实例
2018/04/27 Python
利用python list完成最简单的DB连接池方法
2019/08/09 Python
django执行数据库查询之后实现返回的结果集转json
2020/03/31 Python
Python 给下载文件显示进度条和下载时间的实现
2020/04/02 Python
Numpy一维线性插值函数的用法
2020/04/22 Python
Python基于pandas爬取网页表格数据
2020/05/11 Python
PyCharm vs VSCode,作为python开发者,你更倾向哪种IDE呢?
2020/08/17 Python
自定义html标记替换html5新增元素
2008/10/17 HTML / CSS
Perry Ellis官网:美国男士品味服装
2016/12/09 全球购物
如何反序的迭代一个序列?how do I iterate over a sequence in reverse order
2012/02/04 面试题
小学教师岗位职责
2013/11/25 职场文书
咖啡厅创业计划书范本
2014/01/22 职场文书
经贸韩语专业大学生职业规划
2014/02/14 职场文书
财务部副经理岗位职责
2014/03/14 职场文书
新学期开学标语
2014/06/30 职场文书
2014年教学管理工作总结
2014/12/02 职场文书
高校教师个人工作总结2014
2014/12/17 职场文书
用Python仅20行代码编写一个简单的端口扫描器
2022/04/08 Python