Yii2 Mariadb トランザクションは正常に送信されましたが、データはデータベースに保存されません。
P粉386318086
P粉386318086 2024-03-30 23:03:30
0
1
545
###私はコードをもっている:### リーリー

実行すると「すべて問題ありません!」というメッセージが表示されます。 ただし、実際にはデータベースには何も保存されません。 コードは数か月間変更せずに実行されています。 昨日突然動かなくなりました。

1 時間のデバッグ後、操作が適切に動作していることを確認でき、挿入するレコードの ID を含む中間結果を「エコー」できます。ただし、最終送信後はデータベースには何も保存されません。

トランザクションを削除すると、コードは機能し、トランザクションの場合と同様に、すべてがデータベースに保存されます。

変更の整合性を確認し、トランザクション内に戻りたいと考えています。 または、少なくとも、どのコード (またはデータベースの状態など) がデータの保存を妨げているのか、トランザクションがコミットできなかったために例外が発生せず「エラー」がエコーされる理由を理解したいと考えています。

トランザクションのコミット (実際にはデータベースへの書き込み) が失敗した場合、commit() メソッドは例外をスローすると確信していましたが、そうではありませんでした。入手する方法はありますか?

###事前にどうもありがとうございました。

P粉386318086
P粉386318086

全員に返信(1)
P粉715304239

問題はコードにあります。 ありがとう、@Michal Hynčica、あなたは本当に正しいです。 次のような部分があります:

リーリー

Continue; if: の前に $tx->commit();

を追加することで、このまれな問題を解決しました。 リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート