仅在某些设备中存在php和unity问题

jutyujz0  于 2021-06-21  发布在  Mysql
关注(0)|答案(0)|浏览(236)

我有一行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%正确!

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题