Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将数据从unity发送到sql数据库_C#_Php_Mysql_Unity3d - Fatal编程技术网

C# 将数据从unity发送到sql数据库

C# 将数据从unity发送到sql数据库,c#,php,mysql,unity3d,C#,Php,Mysql,Unity3d,对于我的unity游戏,我正在尝试制作一个最终分数屏幕,在该屏幕上,玩家输入的名字和分数被输入到数据库中。我已经正确链接了所有游戏对象,但脚本甚至没有给出错误代码,我看不到我错过了什么。我现在已经尝试不添加分数(只添加一个插补的名称),但我仍然得到相同的问题 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using UnityEngine.N

对于我的unity游戏,我正在尝试制作一个最终分数屏幕,在该屏幕上,玩家输入的名字和分数被输入到数据库中。我已经正确链接了所有游戏对象,但脚本甚至没有给出错误代码,我看不到我错过了什么。我现在已经尝试不添加分数(只添加一个插补的名称),但我仍然得到相同的问题

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Networking;

public class AddScore : MonoBehaviour
{
    public InputField nameField;
    public GameObject Time;
    public GameObject ScoreText;

    public Button submitScore;

    public void InputScore()
    {
        StartCoroutine(Register());
    }

    IEnumerator Register()
    {
        WWWForm form = new WWWForm();
        form.AddField("name", nameField.text);
        UnityWebRequest www = UnityWebRequest.Get("https://localhost/sqlconnect/addscore.php");
        yield return www.SendWebRequest();
        if (www.isNetworkError || www.isHttpError)
        {
            Debug.LogError(www.error);
        }
        else
        {
            Debug.Log("Score added");
            UnityEngine.SceneManagement.SceneManager.LoadScene(0);
        }
    }

    public void VerifyInputs()
    {
        submitScore.interactable = (nameField.text.Length <= 8);
    }
}
使用系统集合;
使用System.Collections.Generic;
使用UnityEngine;
使用UnityEngine.UI;
使用UnityEngine。联网;
公共类AddScore:单一行为
{
公共输入字段名称字段;
公开游戏对象时间;
公共游戏对象文本;
公共按钮提交中心;
公共无效输入分数()
{
start例程(Register());
}
IEnumerator寄存器()
{
WWWForm form=新WWWForm();
form.AddField(“name”,nameField.text);
UnityWebRequest www=UnityWebRequest.Get(“https://localhost/sqlconnect/addscore.php");
返回www.SendWebRequest();
如果(www.isNetworkError | | www.isHttpError)
{
LogError(www.error);
}
其他的
{
Debug.Log(“添加分数”);
UnityEngine.SceneManagement.SceneManager.LoadScene(0);
}
}
公共无效验证输入()
{

submitcore.interactiable=(nameField.text.Length您正在执行一个
GET
请求,但没有任何正文:

  UnityWebRequest www = UnityWebRequest.Get("https://localhost/sqlconnect/addscore.php");
您应该在正文中使用username参数执行POST请求

示例代码:

        WWWForm form = new WWWForm();
        form.AddField("name", "myUserName");

        using (UnityWebRequest www = UnityWebRequest.Post("https://localhost/sqlconnect/addscore.php", form))
        {
            yield return www.SendWebRequest();

        {
            yield return www.SendWebRequest();

            if (www.isNetworkError || www.isHttpError)
            {
                Debug.Log(www.error);
            }
            else
            {
                Debug.Log("Form upload complete!");
            }
        }

GET
!=
POST
。您的php需要您使用的
POST
协议
GET
,而不发送您创建的表单;)警告:您完全可以使用参数化的预处理语句,而不是手动生成查询。它们由或提供。永远不要信任任何类型的输入!即使您的查询仅由受信任的用户执行。这确实解决了最初的问题,但现在我得到了一个错误代码,但感谢您的帮助
        WWWForm form = new WWWForm();
        form.AddField("name", "myUserName");

        using (UnityWebRequest www = UnityWebRequest.Post("https://localhost/sqlconnect/addscore.php", form))
        {
            yield return www.SendWebRequest();

        {
            yield return www.SendWebRequest();

            if (www.isNetworkError || www.isHttpError)
            {
                Debug.Log(www.error);
            }
            else
            {
                Debug.Log("Form upload complete!");
            }
        }