ホームページ  >  記事  >  バックエンド開発  >  Yii フレームワークビルダー、更新、削除の使用例

Yii フレームワークビルダー、更新、削除の使用例

WBOY
WBOYオリジナル
2016-07-25 09:12:521030ブラウズ

Yii に付属のクエリビルダーは非常に使いやすく、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. 関数::returnOk ('OK!');
  13. }
  14. Functions::returnErrorJson();
コードをコピー

$operate_rst を使用して、新しい挿入を実行する場合は問題ありませんが、更新する場合に問題が発生することがあります。操作が失敗したことが表示されます。長時間確認しましたが、原因が見つからなかったので、ドキュメントを調べる必要がありました。 http://www.yiiframework.com/doc/api/1.1/CDbCommand#update-detail 返品アイテムを参照してください。 {return} 実行によって影響を受ける整数の行数。 データは変更されない場合もありますが、更新操作がトリガーされるため、このときの変更行数は 0 となり、返される判定にはエラー コードが入ります。 同様に、delete()メソッドとinsert()メソッドの戻り値の意味は影響を受ける行数でもあるため、deleteとinsertは戻り値が0より大きいかどうかで操作が成功したかどうかを判断できます。ただし、更新操作は必ずしも必要ではなく、戻り値は 0 です。これは、DB 操作が成功したことを示している可能性があります。



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