Rumah > pembangunan bahagian belakang > tutorial php > yii框架builder、update、delete用法示例

yii框架builder、update、delete用法示例

WBOY
Lepaskan: 2016-07-25 09:12:52
asal
1048 orang telah melayarinya

Yii自带的query builder很好用,省去了拼sql的过程。

在写一个语句的时候遇到这样一个问题:

  1. $connection = Yii::app()->db;
  2. $command = $connection->createCommand();
  3. $operate_rst = 0;
  4. if(!empty($_POST['lid'])){
  5. $operate_rst = $command->update('emg_landing', $landing_info, 'lid=:lid', array(':lid' => $_POST['lid']));
  6. }
  7. else{
  8. $operate_rst = $command->insert('emg_landing', $landing_info);
  9. }
  10. $connection->active = false;
  11. if($operate_rst > 0){
  12. Functions::returnOk('OK!');
  13. }
  14. 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操作成功。



sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan