Rumah >pembangunan bahagian belakang >tutorial php >Mengapa pertanyaan INSERT saya dilaksanakan dua kali pada penyegaran halaman?
Penduaan Sisipan Pertanyaan pada Pemuatan Halaman
Seorang pengguna menghadapi isu di mana pertanyaan INSERT dihantar dua kali ke pangkalan data apabila halaman telah disegarkan. Pertanyaan ini, bertujuan untuk log aktiviti pengguna, telah dilaksanakan menggunakan kod berikut:
<code class="sql">$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>
Punca Punca
Punca masalah terletak pada logik yang salah daripada pengawal hadapan. Pengawal hadapan bertanggungjawab untuk menentukan permintaan mana yang harus dikendalikan oleh aplikasi. Dalam kes ini, pengawal hadapan sedang melaksanakan kod aplikasi untuk setiap permintaan yang dibuat, termasuk permintaan tidak sah dan panggilan sumber. Akibatnya, pertanyaan INSERT telah dilaksanakan beberapa kali, mengakibatkan sisipan pendua.
Penyelesaian
Untuk menyelesaikan isu ini, logik pengawal hadapan mesti disemak semula kepada menghalang aplikasi daripada berjalan untuk permintaan yang tidak sah. Ini memastikan bahawa pertanyaan hanya dilaksanakan apabila sesuai, menghapuskan kemungkinan sisipan palsu.
Atas ialah kandungan terperinci Mengapa pertanyaan INSERT saya dilaksanakan dua kali pada penyegaran halaman?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!