プレイ可能なゲームを特集した特定のゲーム ページで、ユーザーが予期しない問題に遭遇しました。ページを更新すると、ユーザー アクティビティ データをデータベース (「game_activity」) に挿入するように設計された MySQL クエリが 2 回送信されていました。問題のクエリは次のとおりです。
$insert_user_activity = mysql_query("INSERT INTO game_activity (user_id,user_full_name,game_id,game_name) values ('$user_id','$full_name','$browser_id','$game_title')");
二重挿入の理由
この問題は、フロント コントローラー ロジックの欠陥から発生しました。クエリを実行しているページは、存在しないリソースへの呼び出しを含む、サイトへの有効なリクエストと無効なリクエストの両方で呼び出されていました。この結果、クエリが複数回実行され、重複挿入が発生しました。
問題の解決
問題を修正するには、フロント コントローラー ロジックを変更する必要がありました。目的は、アプリケーションが無効なリクエストに対して実行されるのを防ぐことでした。この変更を実装することで、サイト運用中の意図しない重複挿入が排除されます。
以上がページを更新すると、ゲーム アクティビティ テーブルに重複したエントリが含まれるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。