php两次向数据库提交条目

l7wslrjt  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(363)

我有一个游戏,你可以提交你的得分到一个数据库,但由于某种原因,提交不断被触发两次。每个条目都加倍。我在这里看到过类似的问题,解决方法是最后的if/else检查,但我没有看到问题。
是我的php代码在复制条目还是我的游戏应用程序?

<?php

$servername = "xxx";
$username = "xxx";
$password = "xxx";
$dbname = "xxx";
$port = "xxx";

$link = mysqli_connect($servername, $username, $password, $dbname, $port);

// Security
$playerInitials = mysqli_real_escape_string($link,$_REQUEST['initials']);
$playerEmail = mysqli_real_escape_string($link,$_REQUEST['email']);
$playerScore = mysqli_real_escape_string($link,$_REQUEST['score']);

// Convert Initials to Upper Case
$playerInitialsUC = strtoupper($playerInitials);

$sql = "INSERT INTO xmas (initials, email, score)
VALUES ('$playerInitialsUC', '$playerEmail', '$playerScore')";

if(mysqli_query($link, $sql)){
    echo "Records added successfully.";
} else{
    echo "ERROR: " . mysqli_error($link);
}

mysqli_close($link);

?>
nxowjjhe

nxowjjhe1#

是啊,原来我的提交按钮有点太敏感了,点击次数也多了。谢谢大家。

h79rfbju

h79rfbju2#

您可以在sql查询中尝试以下操作:
replace的作用与insert完全相同,但它不会让sql查询使记录加倍。

REPLACE into xmas (initials, email, score) values('$playerInitialsUC', '$playerEmail', '$playerScore')

你可以告诉我,如果它不工作或它不是你想要的:)
或者,您可以将此查询添加到代码末尾,以使行唯一:(不确定此行):

ALTER TABLE xmas ADD UNIQUE( `initials`, `email`, `score`)

相关问题