yii框架builder、update、delete使用方法
Yii自帶的query builder還是很好用的,省去了拼sql的過(guò)程,今天在寫一個(gè)語(yǔ)句的時(shí)候遇到這樣一個(gè)問(wèn)題
$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 來(lái)記錄操作結(jié)果,執(zhí)行新建insert沒(méi)有問(wèn)題,但是在更新時(shí)候,有時(shí)會(huì)顯示操作失敗,檢查了半天,也找不到原因,只好去翻文檔
http://www.yiiframework.com/doc/api/1.1/CDbCommand#update-detail
看到return那一項(xiàng)是
{return} integer number of rows affected by the execution.
瞬間明白問(wèn)題了,因?yàn)橛械臅r(shí)候可能沒(méi)有改數(shù)據(jù)但是觸發(fā)了更新操作,所以這時(shí)候受更改的行數(shù)為0,返回的判斷就進(jìn)入到錯(cuò)誤代碼里。。
同理,delete() 和 insert() 的方法返回值意義也是受到影響的行數(shù),所以delete和insert可以根據(jù)返回值是否大于0來(lái)判斷操作是否成功,但是update操作不一定,返回值為0也有可能表示對(duì)DB操作成功。
- 解析PHP的Yii框架中cookie和session功能的相關(guān)操作
- Yii2.0中的COOKIE和SESSION用法
- yii操作session實(shí)例簡(jiǎn)介
- Yii框架form表單用法實(shí)例
- Yii框架關(guān)聯(lián)查詢with用法分析
- Yii框架中 find findAll 查找出制定的字段的方法對(duì)比
- yii框架配置默認(rèn)controller和action示例
- yii框架通過(guò)控制臺(tái)命令創(chuàng)建定時(shí)任務(wù)示例
- yii框架表單模型使用及以數(shù)組形式提交表單數(shù)據(jù)示例
- Yii框架登錄流程分析
- Yii框架用戶登錄session丟失問(wèn)題解決方法
相關(guān)文章
Yii2實(shí)現(xiàn)跨mysql數(shù)據(jù)庫(kù)關(guān)聯(lián)查詢排序功能代碼
本篇文章主要介紹了Yii2實(shí)現(xiàn)跨mysql數(shù)據(jù)庫(kù)關(guān)聯(lián)查詢排序功能示例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-02-02
laravel 實(shí)現(xiàn)用戶登錄注銷并限制功能
今天小編就為大家分享一篇laravel 實(shí)現(xiàn)用戶登錄注銷并限制功能,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-10-10
yii2中dropDownList實(shí)現(xiàn)二級(jí)和三級(jí)聯(lián)動(dòng)寫法
本篇文章主要介紹了yii2中dropDownList實(shí)現(xiàn)二級(jí)和三級(jí)聯(lián)動(dòng)寫法 ,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-04-04
php 從一個(gè)數(shù)組中隨機(jī)的取出若干個(gè)不同的數(shù)實(shí)例
本文章向碼農(nóng)介紹php從一個(gè)不重復(fù)的數(shù)組中隨機(jī)的取出若干個(gè)不同的元素,難點(diǎn)是防止在取數(shù)的時(shí)候出現(xiàn)已經(jīng)取到過(guò)的情況(特別是取到最后),需要盡可能的降低碰撞,需要的朋友可以參考下2016-12-12
頁(yè)面利用漸進(jìn)式JPEG來(lái)提升用戶體驗(yàn)度
這篇文章主要介紹了頁(yè)面利用漸進(jìn)式JPEG來(lái)提升用戶體驗(yàn)度的相關(guān)資料,需要的朋友可以參考下2014-12-12
在laravel5.2中實(shí)現(xiàn)點(diǎn)擊用戶頭像更改頭像的方法
今天小編就為大家分享一篇在laravel5.2中實(shí)現(xiàn)點(diǎn)擊用戶頭像更改頭像的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-10-10

