Maison > Article > base de données > Pourquoi mon tableau d'activités de jeu comporte-t-il des entrées en double lors de l'actualisation de la page ?
Sur une page de jeu spécifique présentant un jeu jouable, un utilisateur a rencontré un problème inattendu. Lors de l'actualisation de la page, une requête MySQL conçue pour insérer les données d'activité des utilisateurs dans une base de données (« game_activity ») a été soumise deux fois. La requête en question était :
$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')");
La raison de la double insertion
Le problème provenait d'une logique défectueuse du contrôleur frontal. La page exécutant la requête était invoquée lors de requêtes valides et non valides sur le site, y compris des appels à des ressources inexistantes. Cela a entraîné l'exécution de la requête plusieurs fois, provoquant des insertions en double.
Résolution du problème
Pour résoudre le problème, il a été nécessaire de modifier la logique du contrôleur frontal. L'objectif était d'empêcher l'exécution de l'application pour des requêtes non valides. En mettant en œuvre ce changement, les insertions involontaires en double lors du fonctionnement du site seraient éliminées.
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!