페이지 로드 시 여러 데이터베이스 삽입
게임 페이지에서 사용자 활동을 기록하는 쿼리를 구현했습니다.
$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 중국어 웹사이트의 기타 관련 기사를 참조하세요!