簡體   English   中英

PHP將條目兩次提交到數據庫

[英]PHP submitting entries to database twice

我有一個游戲,您可以在其中將分數提交到數據庫,但是由於某種原因,提交一直被觸發兩次。 每個條目都加倍。 我在這里看到過類似的問題,解決方案與最后的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);

?>

您可以在SQL查詢中嘗試以下操作:

REPLACE的功能與INSERT完全相同,但它不會讓sql查詢將記錄翻倍。

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

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

或者,您可以將此查詢添加到代碼的末尾以使行唯一:(不確定這一行):

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

是的,事實證明我的提交按鈕過於敏感,點擊多次注冊。 謝謝大家。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM