ホームページ php教程 php手册 Yii Query Builder insert()、update()、delete()使用

Yii Query Builder insert()、update()、delete()使用

Jun 13, 2016 am 09:37 AM
aspnet ソフトウェアプログラミング

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,返回的判断就进入到错误代码里。。

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

 

 

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Vue.js と ASP.NET の組み合わせは、Web アプリケーションのパフォーマンスの最適化と拡張のためのヒントと提案を提供します。 Vue.js と ASP.NET の組み合わせは、Web アプリケーションのパフォーマンスの最適化と拡張のためのヒントと提案を提供します。 Jul 29, 2023 pm 05:19 PM

Vue.js と ASP.NET の組み合わせは、Web アプリケーションのパフォーマンスの最適化と拡張のためのヒントと提案を提供します。

ASP.NET プログラムにおける MySQL 接続プールの使用法と最適化手法 ASP.NET プログラムにおける MySQL 接続プールの使用法と最適化手法 Jun 30, 2023 pm 11:54 PM

ASP.NET プログラムにおける MySQL 接続プールの使用法と最適化手法

生成 AI がソフトウェア開発を変える 10 の方法 生成 AI がソフトウェア開発を変える 10 の方法 Mar 11, 2024 pm 12:10 PM

生成 AI がソフトウェア開発を変える 10 の方法

ASP.NETプログラムでMySQLに再接続するにはどうすればよいですか? ASP.NETプログラムでMySQLに再接続するにはどうすればよいですか? Jun 29, 2023 pm 02:21 PM

ASP.NETプログラムでMySQLに再接続するにはどうすればよいですか?

Vue.js と ASP.NET の組み合わせにより、エンタープライズ レベルのアプリケーションの開発と展開が可能になります。 Vue.js と ASP.NET の組み合わせにより、エンタープライズ レベルのアプリケーションの開発と展開が可能になります。 Jul 29, 2023 pm 02:37 PM

Vue.js と ASP.NET の組み合わせにより、エンタープライズ レベルのアプリケーションの開発と展開が可能になります。

ASP.NETプログラムでMySQL接続プールを正しく構成して使用する方法は? ASP.NETプログラムでMySQL接続プールを正しく構成して使用する方法は? Jun 29, 2023 pm 12:56 PM

ASP.NETプログラムでMySQL接続プールを正しく構成して使用する方法は?

aspnet の組み込みオブジェクトとは何ですか? aspnet の組み込みオブジェクトとは何ですか? Nov 21, 2023 pm 02:59 PM

aspnet の組み込みオブジェクトとは何ですか?

Linux 上の Visual Studio を使用した ASP.NET 開発の推奨構成 Linux 上の Visual Studio を使用した ASP.NET 開発の推奨構成 Jul 06, 2023 pm 08:45 PM

Linux 上の Visual Studio を使用した ASP.NET 開発の推奨構成

See all articles