PHP两次向数据库提交条目

时间:2018-07-17 15:50:56

标签: php mysql ajax mysqli

我有一个游戏,您可以在其中将分数提交到数据库,但是由于某种原因,提交一直被触发两次。每个条目都加倍。我在这里看到过类似的问题,解决方案与最后的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 个答案:

答案 0 :(得分:0)

您可以在sql查询中尝试以下方法:

REPLACE的作用与INSERT完全相同,但它不会让sql查询将记录翻倍。

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

您可以告诉我它是否无效或不是您想要的:)

或者您可以将此查询添加到代码末尾以使行唯一:(不确定这一行):

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

答案 1 :(得分:0)

是的,事实证明我的“提交”按钮过于敏感,点击多次注册。谢谢大家。