我有一个游戏,你可以提交你的得分到一个数据库,但由于某种原因,提交不断被触发两次。每个条目都加倍。我在这里看到过类似的问题,解决方法是最后的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);
?>
2条答案
按热度按时间nxowjjhe1#
是啊,原来我的提交按钮有点太敏感了,点击次数也多了。谢谢大家。
h79rfbju2#
您可以在sql查询中尝试以下操作:
replace的作用与insert完全相同,但它不会让sql查询使记录加倍。
你可以告诉我,如果它不工作或它不是你想要的:)
或者,您可以将此查询添加到代码末尾,以使行唯一:(不确定此行):