Sur une page Web de jeu, une requête d'activité utilisateur a été observée pour insérer des enregistrements en double dans la base de données lors de l'actualisation de la page.
<code class="php">$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')");</code>
Le coupable derrière ce problème réside dans la logique du contrôleur frontal. La page contenant la requête est invoquée par erreur lors de toutes les requêtes, y compris celles non valides (par exemple, ressources inexistantes). Ce comportement conduit à l'exécution de la requête plusieurs fois, entraînant des insertions en double.
Pour remédier au problème, modifiez la logique du contrôleur frontal. Empêchez-le d'exécuter l'application pour les demandes non valides. Cette modification éliminera les fausses insertions qui pourraient autrement nuire à la base de données au lancement du site.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!