Yii Query Builder insert()、update()、delete()使用_PHP教程
程序员文章站
2022-06-08 19:51:01
...
Yii自带的query builder还是很好用的,省去了拼sql的过程,今天在写一个语句的时候遇到这样一个问题
= Yii::app()-> = -> = 0(!(['lid' = ->update('emg_landing', , 'lid=:lid', (':lid' => ['lid' = ->insert('emg_landing', ->active = ( > 0::returnOk('OK!'Functions::returnErrorJson();
用 $operate_rst 来记录操作结果,执行新建insert没有问题,但是在更新时候,有时会显示操作失败,检查了半天,也找不到原因,只好去翻文档
http://www.yiiframework.com/doc/api/1.1/CDbCommand#update-detail
看到return那一项是
{} number of rows affected by the execution.
瞬间明白问题了,因为有的时候可能没有改数据但是触发了更新操作,所以这时候受更改的行数为0,返回的判断就进入到错误代码里。。
同理,delete() 和 insert() 的方法返回值意义也是受到影响的行数,所以delete和insert可以根据返回值是否大于0来判断操作是否成功,但是update操作不一定,返回值为0也有可能表示对DB操作成功。
推荐阅读
-
yii框架builder、update、delete使用方法
-
yii框架builder、update、delete使用方法
-
Yii查询生成器(Query Builder)用法实例教程,yiibuilder_PHP教程
-
yii框架builder、update、delete使用方法
-
yii框架builder、update、delete使用方法
-
Yii Query Builder insert()、update()、delete()使用_PHP教程
-
Yii Query Builder insert()、update()、delete()使用_PHP教程
-
Yii查询生成器(Query Builder)用法实例教程,yiibuilder_PHP教程
-
Yii查询生成器(Query Builder)用法实例教程_PHP
-
PHP开发框架Yii Framework教程(25) 数据库-Query Builder示例