Heim > Backend-Entwicklung > PHP-Tutorial > yii框架builder、update、delete用法示例

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

WBOY
Freigeben: 2016-07-25 09:12:52
Original
1048 Leute haben es durchsucht

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操作成功。



Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage