色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

yii框架builder、update、delete使用方法

Yii自帶的query builder還是很好用的,省去了拼sql的過(guò)程,今天在寫一個(gè)語(yǔ)句的時(shí)候遇到這樣一個(gè)問(wèn)題

復(fù)制代碼 代碼如下:
$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)是

復(fù)制代碼 代碼如下:
{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技術(shù)yii框架builder、update、delete使用方法,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 桃源县| 会理县| 宁城县| 璧山县| 鹤峰县| 库尔勒市| 鄂托克前旗| 建始县| 无棣县| 卢氏县| 云梦县| 武平县| 静安区| 抚顺市| 西藏| 界首市| 威宁| 金堂县| 商南县| 禹城市| 临湘市| 马山县| 通城县| 余江县| 淳化县| 墨竹工卡县| 邛崃市| 华坪县| 珠海市| 宜阳县| 五莲县| 都昌县| 泗洪县| 灵武市| 于田县| 淮南市| 东莞市| 唐山市| 固阳县| 武城县| 德兴市|