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