Yii Query Builder insert()、update()、delete()使用_PHP教程

php中文网
发布: 2016-07-13 10:32:46
原创
852人浏览过

yii自带的query builder还是很好用的,省去了拼sql的过程,今天在写一个语句的时候遇到这样一个问题

<span $connection</span> = Yii::app()-><span db;
</span><span $command</span> = <span $connection</span>-><span createCommand();

</span><span $operate_rst</span> = 0<span ;
</span><span if</span>(!<span empty</span>(<span $_POST</span>['lid'<span ])){
    </span><span $operate_rst</span> = <span $command</span>->update('emg_landing', <span $landing_info</span>, 'lid=:lid', <span array</span>(':lid' => <span $_POST</span>['lid'<span ]));
}
</span><span else</span><span {
    </span><span $operate_rst</span> = <span $command</span>->insert('emg_landing', <span $landing_info</span><span );
}
</span><span $connection</span>->active = <span false</span><span ;
</span><span if</span>(<span $operate_rst</span> > 0<span ){
    Functions</span>::returnOk('OK!'<span );
}<br />Functions::returnErrorJson();<br /></span>
登录后复制

用 $operate_rst 来记录操作结果,执行新建insert没有问题,但是在更新时候,有时会显示操作失败,检查了半天,也找不到原因,只好去翻文档

http://www.yiiframework.com/doc/api/1.1/CDbCommand#update-detail

看到return那一项是

{<span return</span>}    <span integer</span>    <span <strong>number of rows affected by the execution.</strong></span>
登录后复制

瞬间明白问题了,因为有的时候可能没有改数据但是触发了更新操作,所以这时候受更改的行数为0,返回的判断就进入到错误代码里。。

豆包AI编程
豆包AI编程

豆包推出的AI编程助手

豆包AI编程 483
查看详情 豆包AI编程

立即学习PHP免费学习笔记(深入)”;

同理,delete() 和 insert() 的方法返回值意义也是受到影响的行数,所以delete和insert可以根据返回值是否大于0来判断操作是否成功,但是update操作不一定,返回值为0也有可能表示对DB操作成功。

 

 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/755383.htmlTechArticleYii自带的query builder还是很好用的,省去了拼sql的过程,今天在写一个语句的时候遇到这样一个问题 = Yii::app()- = - = 0 (! ( ['lid' = -update('emg_...
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号