Simpan maklumat pengguna dalam tatasusunan, dan kemudian gunakan gelung untuk memasuki pangkalan data mysql Walau bagaimanapun, kadang-kadang maklumat pengguna individu akan dimasukkan dua kali Saya tidak tahu di mana ralat logiknya.
Kod logik adalah seperti berikut
$data = array(); //用户信息数组
for($i=0;$i<count($data);$i++){
$sql = "INSERT INTO *********";
$result = mysql_query($sql);
//以下是录入统计成功与失败的数量
if($result){
$success_num[]=$i;
}else{
$error_num[]=$i;
}
}
//跳出循环,弹出结果给用户,并跳转到首页
$con = "成功上传".count($success_num)."条!- 失败:".count($error_num)."条";
echo "<script> alert('$con');parent.location.href='index.php'; </script>";
Apa yang pelik pada masa ini ialah maklumat yang dimasukkan oleh pengguna individu sentiasa dilaksanakan dua kali (sebagai contoh, tatasusunan yang diserahkan hanya mempunyai 5 elemen, tetapi 10 rekod dijana apabila dimasukkan ke dalam pangkalan data)
90% penyertaan adalah perkara biasa, hanya beberapa pengguna yang akan berlaku, sila beri sedikit panduan
Ini berlaku apabila anda menggunakan location.href untuk melompat Sebilangan penyemak imbas mungkin menghantar semula borang dua kali sebaik sahaja ia dimuat semula
Ada beberapa penyelesaian yang saya akan berikan kepada anda.
Saya tidak melihat sebarang masalah khas secara logik Saya hanya boleh mengatakan bahawa mungkin bahagian hadapan anda menghantar dua permintaan, dan secara amnya, apabila memasukkan data, ia secara amnya dinilai sama ada pengguna wujud dalam pangkalan data, tetapi anda melakukannya. tidak membuat penghakiman ini, yang juga menyebabkan maklumat itu muncul Sepuluh rekod
Apa yang anda patut fikirkan ialah:
Sebelum memasukkan, nilaikan nilai pangkalan data, sekurang-kurangnya dengan indeks yang unik.
Sekiranya ralat input individu, ia bergantung pada data dalam $data anda.