我有一行php代码来更新我的玩家的分数或者为他们创建一个新的记录。这将使用post方法来获取玩家的名字和分数,然后更新它们。我用它来更新分数,因为我不想有一个名字在我的董事会多个分数。这段代码适用于unitypost方法和html浏览器
$sql = "REPLACE INTO scores (name, score)
VALUES ('$name', '$score')";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$sql2 = "DELETE FROM scores WHERE score < '".$score."' AND name = '".$name."'";
if ($conn->query($sql2) === TRUE) {
echo "Record Corrected";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
我在unity中使用这个代码用post方法发送name和score。
IEnumerator Upload()
{
WWWForm form = new WWWForm();
form.AddField("name", PlayerPrefsManager.GetPlayerName().ToString());
form.AddField("score", PlayerPrefsManager.GetPlayerBestScore().ToString());
using (UnityWebRequest www = UnityWebRequest.Post("http://gabrielexception.ir/addscore.php", form))
{
yield return www.SendWebRequest();
if (www.isNetworkError || www.isHttpError)
{
Debug.Log(www.error);
}
else
{
}
}
}
问题是,在某些情况下(可能20%的手机)的名字不会被更新,它只是创造一个新的记录,完全相同的名字一遍又一遍。如果玩家得到50张新唱片,它只需要创造50张唱片。怎么可能这个代码在某些手机上100%正确,在其他手机上50%正确!
暂无答案!
目前还没有任何答案,快来回答吧!