집 >데이터 베이스 >MySQL 튜토리얼 >게임 페이지를 새로 고친 후 중복된 항목이 표시되는 이유는 무엇입니까?
페이지 로딩 시 예상치 못한 중복 삽입
사용자가 다양한 게임에 참여하는 게임 테마 웹페이지의 상황을 생각해 보세요. 사용자 활동 기록을 유지하기 위해 쿼리가 구현됩니다.
$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')");
이 쿼리는 사용자가 게임을 시작할 때마다 "game_activity" 테이블에 새 행을 삽입하기 위한 것입니다. 그러나 사용자는 게임 페이지를 새로 고치면 데이터베이스에 중복 삽입되는 문제에 직면했습니다.
분석 및 해결
예기치 않은 동작은 결함이 있는 전면 컨트롤러에서 비롯됩니다. 논리. 쿼리를 실행하는 페이지는 유효성에 관계없이 웹사이트에 요청이 이루어질 때마다 호출됩니다. 즉, 사용자가 게임 페이지를 새로 고치거나 존재하지 않는 리소스로 이동하는 경우 쿼리가 계속 실행되어 불필요한 삽입이 발생하게 됩니다.
이 문제를 해결하려면 전면 컨트롤러의 로직을 수정해야 합니다. 유효하지 않은 요청을 제외하고 유효한 요청에 대해서만 애플리케이션을 실행해야 합니다. 이 결함을 해결함으로써 사이트가 활성화될 때 수많은 잘못된 삽입을 피할 수 있습니다.
위 내용은 게임 페이지를 새로 고친 후 중복된 항목이 표시되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!