Maison > Questions et réponses > le corps du texte
Enregistrez les informations utilisateur dans un tableau, puis utilisez une boucle pour entrer dans la base de données mysql. Cependant, il arrive parfois que les informations des utilisateurs individuels soient saisies deux fois. Je ne sais pas où se trouve l'erreur logique.
Le code logique est le suivant
$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>";
Ce qui est étrange en ce moment, c'est que les informations saisies par les utilisateurs individuels sont toujours exécutées deux fois (par exemple, le tableau soumis ne contient que 5 éléments, mais 10 enregistrements sont générés lors de la saisie dans la base de données)
90 % des entrées sont normales, seuls certains utilisateurs se produiront, veuillez donner quelques conseils
给我你的怀抱2017-05-24 11:32:40
Cela se produit lorsque vous utilisez location.href pour sauter. Certains navigateurs peuvent soumettre à nouveau le formulaire deux fois dès qu'ils sont actualisés. Il existe plusieurs solutions. Je vais juste vous donner un exemple.
.
巴扎黑2017-05-24 11:32:40
Je ne vois logiquement pas de problèmes particuliers. Je peux seulement dire qu'il se peut que votre front-end ait soumis deux requêtes, et d'une manière générale, lors de l'insertion de données, on juge généralement si l'utilisateur existe dans la base de données, mais vous n'avez pas porté ce jugement. En conséquence, dix enregistrements sont apparus
.为情所困2017-05-24 11:32:40
Ce à quoi vous devriez penser est :
insert into table (fields...) values(values),(values),(values);
phpcn_u15822017-05-24 11:32:40
Avant l'insertion, jugez la valeur de la base de données, au moins avec un index unique.
En cas d'erreurs de saisie individuelles, cela dépend des données contenues dans vos $data.