Rumah > Artikel > pangkalan data > Mengapa Skrip PHP Saya Memasukkan Data Dua Kali ke dalam Pangkalan Data?
Isu:
Skrip PHP memasukkan data ke dalam pangkalan data MySQL dua kali selepas dijalankan sekali. Apabila skrip berjalan dua kali disebabkan penyegaran halaman, hanya satu hasil yang muncul dalam pangkalan data.
Punca:
Tingkah laku ini boleh berlaku apabila berbilang permintaan dibuat kepada skrip, seperti apabila pengguna menyegarkan halaman. Isu ini amat ketara apabila menggunakan penyemak imbas Opera atau Chrome.
Sebab:
Lazimnya, penyemak imbas meminta skrip dan favicon apabila mengakses tapak web. Apabila ini berlaku, skrip PHP yang bertanggungjawab untuk memasukkan data ke dalam pangkalan data mungkin dilaksanakan dua kali.
Penyelesaian:
Untuk menyelesaikan isu ini, laksanakan mekanisme yang memastikan sisipan pertanyaan hanya dilaksanakan untuk permintaan tertentu. Sebagai contoh, pendekatan biasa ialah menggunakan kod berikut:
if ($_SERVER['REQUEST_URI'] == '/specific/request') { // Insert query here }
Ini menyemak sama ada URI permintaan adalah yang khusus sebelum melaksanakan pertanyaan sisipan, menghalang sisipan pendua.
Atas ialah kandungan terperinci Mengapa Skrip PHP Saya Memasukkan Data Dua Kali ke dalam Pangkalan Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!