目次
Codeigniter フレームワーク更新トランザクション (トランザクション) のバグと解決策、Codeigniter フレームワーク
Codeigniter フレームワークに同時にアクセスできる人数
PHP CodeIgniterフレームワークの場合
ホームページ バックエンド開発 PHPチュートリアル Codeigniter フレームワーク更新トランザクション (トランザクション) のバグと解決策、Codeigniter Framework_PHP チュートリアル

Codeigniter フレームワーク更新トランザクション (トランザクション) のバグと解決策、Codeigniter Framework_PHP チュートリアル

Jul 13, 2016 am 10:22 AM
bug codeigniter transaction 事務

Codeigniter フレームワーク更新トランザクション (トランザクション) のバグと解決策、Codeigniter フレームワーク

CIトランザクション判定エラーのロールバック条件はステートメントが正常に実行されたかどうかであるため、更新操作中は影響を受ける項目数が0であっても正常に実行されたためSQLステートメントの実行結果は1のままですが、影響を受けるアイテムの数のみが 0 です。

この問題を解決する方法は次のとおりです:

一度に多くのステートメントを実行する必要があるトランザクションの場合

更新操作中に影響を受けるアイテムの数が 0 かどうかに基づいてロールするかどうかを決定するだけで済みます。以下では、2 番目のステートメントが更新操作であると仮定します。

コードをコピーします コードは次のとおりです:

//Codeigniter トランザクションの手動モードを採用します
$this->db->trans_strict(FALSE);
$this->db->trans_begin();

$this->db->query('SELECT ...') //SELECT 操作には特別な処理は必要ありません
$this->db->query('INSERT ...');//INSERT エラーが発生した場合、Codeigniter が自動的に処理します

$this->db->query('UPDATE ...');
If (!$this->db->affacted_rows()) {//上記の UPDATE が失敗した場合、ロールバックします
$this->db->trans_rollback();
//@todo例外処理部分
Exit();//次の SQL コードが実行を継続しないように、終了または終了する必要があります。
}

$this->db->query('DELETE...');
If (!$this->db->affacted_rows()) {//上記の DELETE が失敗した場合は、ロールバックします
$this->db->trans_rollback();
//@todo例外処理部分
Exit();//次の SQL コードが実行を継続しないように、終了または終了する必要があります。
}

$this->db->query('SELECT ...') //SELECT 操作には特別な処理は必要ありません
$this->db->query('INSERT ...');//INSERT エラーが発生した場合、Codeigniter が自動的に処理します

If ($this->db->trans_status() === TRUE) {
$this->db->trans_commit();
} その他 {
$this->db->trans_rollback();
//@todo例外処理部分
}

一度に実行されるステートメントが少ない場合は、最後に判断してロールバックするかどうかを決定できます

ステートメントに更新操作がない場合は、自動トランザクションを使用してください。

Codeigniter フレームワークに同時にアクセスできる人数

同時実行数は主にサーバー アーキテクチャに関係しますが、キャッシュがどの程度適切に使用されるかなど、プログラムの最適化も大きく関係します。もちろんフレームワークとは関係ありません

PHP CodeIgniterフレームワークの場合

昨日 CodeIgniter マニュアルを読んだところですが、CodeIgniter の URL の章でその方法が説明されています:

次のように .htaccess ファイルにルールを追加することで処理されます

RewriteEngine on

RewriteCond $1 !^(index\. php| 画像|ロボット\.txt)

RewriteRule ^(.*)$ /index.php/$1 [L]

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/848801.html技術記事 Codeigniter フレームワークの更新トランザクション (トランザクション) のバグと解決策 CI トランザクション判定エラーによる codeigniter フレームワークのロールバックの条件は、ステートメントが正常に実行されたかどうか、および更新操作が ...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

ゲームのバグってどういう意味ですか? ゲームのバグってどういう意味ですか? Feb 18, 2024 am 11:30 AM

ゲームのバグとは何ですか? ゲームのプレイ中に、キャラクターが動かなくなったり、タスクが続行できなくなったり、画面がちらついたりするなど、予期せぬエラーや問題が発生することがよくあります。このような異常現象をゲームバグ、つまりゲーム上の不具合やエラーと呼びます。この記事では、ゲームのバグが何を意味し、それがプレイヤーや開発者に与える影響について探っていきます。ゲームのバグとは、ゲームの開発または運用中に発生し、ゲームが正常に実行できなくなったり、予期しない動作を引き起こしたりするエラーを指します。これらのエラーの原因として考えられるのは、

CodeIgniter でカスタムミドルウェアを実装する方法 CodeIgniter でカスタムミドルウェアを実装する方法 Jul 29, 2023 am 10:53 AM

CodeIgniter でカスタム ミドルウェアを実装する方法 はじめに: 最新の Web 開発では、ミドルウェアがアプリケーションで重要な役割を果たします。これらは、リクエストがコントローラーに到達する前または後に、共有処理ロジックを実行するために使用できます。 CodeIgniter は、人気のある PHP フレームワークとして、ミドルウェアの使用もサポートしています。この記事では、CodeIgniter でカスタム ミドルウェアを実装する方法を紹介し、簡単なコード例を示します。ミドルウェアの概要: ミドルウェアは一種のリクエストです

ロック待機タイムアウトを超過しました。トランザクションを再起動してください - MySQL エラーの解決方法: トランザクション待機タイムアウト ロック待機タイムアウトを超過しました。トランザクションを再起動してください - MySQL エラーの解決方法: トランザクション待機タイムアウト Oct 05, 2023 am 08:46 AM

Lockwaittimeoutexceeded;tryrestartingtransaction - MySQL エラーの解決方法: トランザクション待機タイムアウト。MySQL データベースを使用すると、一般的なエラーが発生することがあります: Lockwaittimeoutexceeded;tryrestartingtransaction。このエラーは、トランザクション待機タイムアウトを示します。このエラーは通常、次の場合に発生します。

Apple iOS18 のバグの概要 Apple iOS18 のバグの概要 Jun 14, 2024 pm 01:48 PM

Apple の WWDC カンファレンス 2024 が成功裡に終了する中、macos15 が発表されただけでなく、Apple の新しい iOS18 システムのアップデートが最も注目を集めました。Apple の iOS18 の最初のバージョンとして、多くの新機能がありますが、人々は必然的にそれがどうか疑問に思います。 Apple iOS18 にアップグレードする必要がありますが、Apple iOS18 の最新リリースにはどのようなバグがありますか?実際の使用評価の後、以下に Apple iOS 18 のバグの概要を示しますので、見てみましょう。現在、多くのiPhoneユーザーがiOS18へのアップグレードを急いでいますが、さまざまなシステムバグが人々を不快にさせています。一部のブロガーは、「バグが非常に多い」ため、iOS18にアップグレードする場合は注意する必要があると述べています。ブロガーは、あなたのiPhoneが

CodeIgniter ミドルウェア: アプリケーションの応答性とページのレンダリングを高速化します。 CodeIgniter ミドルウェア: アプリケーションの応答性とページのレンダリングを高速化します。 Jul 28, 2023 pm 06:51 PM

CodeIgniter ミドルウェア: アプリケーションの応答性とページ レンダリングの高速化 概要: Web アプリケーションの複雑さと対話性が増大し続ける中、開発者はアプリケーションのパフォーマンスと応答性を向上させるために、より効率的でスケーラブルなソリューションを使用する必要があります。 CodeIgniter (CI) は、多くの便利な機能を提供する軽量の PHP ベースのフレームワークであり、その 1 つがミドルウェアです。ミドルウェアは、リクエストがコントローラーに到達する前または後に実行される一連のタスクです。この記事では使い方を紹介します

MySQL トランザクション処理: 自動送信と手動送信の違い MySQL トランザクション処理: 自動送信と手動送信の違い Mar 16, 2024 am 11:33 AM

MySQL トランザクション処理: 自動送信と手動送信の違い。MySQL データベースでは、トランザクションは一連の SQL ステートメントです。すべての実行が成功するか、すべての実行が失敗するかのいずれかで、データの一貫性と整合性が保証されます。 MySQL では、トランザクションは自動送信と手動送信に分けられ、その違いはトランザクション送信のタイミングとトランザクションの制御範囲にあります。以下では、自動送信と手動送信の違いを詳しく紹介し、具体的なコード例を示して説明します。 1. MySQL が表示されない場合は自動的に送信する

CodeIgniter フレームワークでデータベース クエリ ビルダー (Query Builder) を使用する方法 CodeIgniter フレームワークでデータベース クエリ ビルダー (Query Builder) を使用する方法 Jul 28, 2023 pm 11:13 PM

CodeIgniter フレームワークでデータベース クエリ ビルダー (QueryBuilder) を使用する方法の紹介: CodeIgniter は、開発者が Web アプリケーション開発を容易にするための強力なツールとライブラリを多数提供する軽量の PHP フレームワークです。最も印象的な機能の 1 つは、データベース クエリ ビルダー (QueryBuilder) です。これは、データベース クエリ ステートメントを構築および実行するための簡潔かつ強力な方法を提供します。この記事ではCoの使い方を紹介します。

PHP 開発: CodeIgniter を使用して MVC パターンと RESTful API を実装する PHP 開発: CodeIgniter を使用して MVC パターンと RESTful API を実装する Jun 16, 2023 am 08:09 AM

Web アプリケーションは進化し​​続けるため、アプリケーションをより迅速かつ効率的に開発することが重要です。また、RESTful API は Web アプリケーションで広く使用されているため、開発者は RESTful API の作成および実装方法を理解する必要があります。この記事では、CodeIgniter フレームワークを使用して MVC パターンと RESTful API を実装する方法について説明します。 MVC パターン MVC (Model-Vie) の概要

See all articles