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那一項是
{return} integer number of rows affected by the execution.
瞬間明白問題了,因為有的時候可能沒有改數(shù)據(jù)但是觸發(fā)了更新操作,所以這時候受更改的行數(shù)為0,返回的判斷就進入到錯誤代碼里。。
同理,delete() 和 insert() 的方法返回值意義也是受到影響的行數(shù),所以delete和insert可以根據(jù)返回值是否大于0來判斷操作是否成功,但是update操作不一定,返回值為0也有可能表示對DB操作成功。
相關(guān)文章
Zend Framework教程之Zend_Db_Table_Row用法實例分析
這篇文章主要介紹了Zend Framework教程之Zend_Db_Table_Row用法,詳細講述了Zend_Db_Table_Row的功能,并結(jié)合實例形式詳細分析了Zend_Db_Table_Row操作數(shù)據(jù)的相關(guān)技巧,需要的朋友可以參考下2016-03-03
laravel在中間件內(nèi)生成參數(shù)并且傳遞到控制器中的2種姿勢
今天小編就為大家分享一篇laravel在中間件內(nèi)生成參數(shù)并且傳遞到控制器中的2種姿勢,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10
Laravel 解決419錯誤 -ajax請求錯誤的問題(CSRF驗證)
今天小編就為大家分享一篇Laravel 解決419錯誤 -ajax請求錯誤的問題(CSRF驗證),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10
destoon實現(xiàn)調(diào)用熱門關(guān)鍵字的方法
這篇文章主要介紹了destoon實現(xiàn)調(diào)用熱門關(guān)鍵字的方法,對于進行模板開發(fā)來說非常有用,需要的朋友可以參考下2014-07-07
php curl獲取到json對象并轉(zhuǎn)成數(shù)組array的方法
今天小編就為大家分享一篇php curl獲取到json對象并轉(zhuǎn)成數(shù)組array的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-05-05

