Problem:
Auf einer Spieleseite, auf der Benutzer ein Spiel spielen, befindet sich eine Einfügungsabfrage ausgeführt, um Daten in einer Datenbank zu protokollieren. Allerdings scheint die Abfrage jedes Mal, wenn die Seite aktualisiert wird, zweimal gesendet zu werden.
$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')");
Erklärung:
Das Problem liegt in der Front-Controller-Logik. Die Seite mit der Abfrage wird nicht nur bei legitimen, sondern auch bei ungültigen Anfragen aufgerufen. Dies ist ein typisches Problem beim Entwerfen eines Front-Controllers für eine Webanwendung.
Um mehrfache Einfügungen zu verhindern, muss die Logik des Front-Controllers ungültige Anfragen unterschiedlich behandeln, um sicherzustellen, dass die Anwendung für solche Anfragen nicht ausgeführt wird. Andernfalls kann es beim Start der Website zu zahlreichen unnötigen Einfügungen kommen.
Das obige ist der detaillierte Inhalt vonWarum wird meine Einfügungsabfrage bei jeder Seitenaktualisierung zweimal ausgeführt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!