Unity3d - 运行php代码的UnityWebRequest

我有一个php文件,它会增加数据库中的计数器。 我想要它,以便我可以从Unity3d中的C#脚本中增加计数器。 有没有办法通过从C#调用php脚本来更新数据库?</ p>

我已经检查了UnityWebRequest的Unity文档,没有任何关系只需“打开”一个URL(没有 在浏览器中打开)或更新数据库。 我尝试过使用UnityWebRequest以及现在使用的WWW但是没有任何一个可以工作。</ p>

我现在无法上传任何代码因为我正在使用的服务器 已经失败,但我会在它重新上线后立即行动。 (这不是似乎没有任何工作的原因。)</ p>
</ div>

展开原文

原文

I have a php file which will increase a counter in a database. I want it so that I can increase the counter from inside the C# script in Unity3d. Is there a way of updating the database by calling the php script from C#?

I've checked the Unity documentation for UnityWebRequest and nothing is to do with simply 'opening' a url (without opening in the browser) or updating a database. I tried using UnityWebRequest and also the now obselete WWW but haven't got either of them to work.

I can't actually upload any code at the moment because the server I'm using is down, but I'll do it as soon as it's back online. (This isn't the reason nothing seems to be working.)

duanfu3884
duanfu3884 有一个示例显示了如何获取URL。而不是“https://www.example.com,你应该使用像“localhost/nameOfYourScript.php”这样的东西
一年多之前 回复

2个回答



在php中使用简单的web请求到你的获取页面。</ p>

你也可以构建你的 带有参数的url如果需要附加功能</ p>

  IEnumerator GetRequest(string uri)
{
// http:// localhost:3000 /如果您在同一台机器上执行
使用(UnityWebRequest webRequest = UnityWebRequest.Get(“www.yoursite.com/increaseCounter”))
{
//请求并等待所需的页面。
yield return webRequest.SendWebRequest();
\ n if(webRequest.isNetworkError)
{
//检查错误
}
其他
{
//所有确定
}
}
}
</ code> </ pre>

</ div>

展开原文

原文

Use a simple web request to your get page in php.

you can also build your url with parameters if you need aditional functionality

    IEnumerator GetRequest(string uri)
    {
        //http://localhost:3000/ if you are executing on same machine
        using (UnityWebRequest webRequest = UnityWebRequest.Get("www.yoursite.com/increaseCounter"))
        {
            // Request and wait for the desired page.
            yield return webRequest.SendWebRequest();

            if (webRequest.isNetworkError)
            {
               //check errors
            }
            else
            {
               //all ok
            }
        }
    }



你的php文件是否正常工作? 如果是,那么你可能需要创建一个表单并将该表单的计数器添加为参数,然后在unity3d脚本中创建一个post请求并使用UnityWebRequest调用它。 </ p>

  WWWForm form = new WWWForm(); 
form.AddField(“counter”,1);
UnityWebRequest www = UnityWebRequest.Post(“PHP文件的URL”, form);
yield返回www.SendWebRequest();
if(www.isNetworkError || www.isHttpError){
Debug.Log(“表单上传失败”);
}
else {
Debug.Log( “表格上传完成”);
}
</ code> </ pre>

希望有帮助</ p>
</ div>

展开原文

原文

Is your php file working correctly? if yes then you will probably need to create a form and add counter to that form as an argument, then create a post request inside the unity3d script and call it with UnityWebRequest.

WWWForm form = new WWWForm();
form.AddField("counter", 1);
UnityWebRequest www = UnityWebRequest.Post("URL to your PHP file", form);
yield return www.SendWebRequest();
if(www.isNetworkError || www.isHttpError){
   Debug.Log("Form Upload Failed");
}
else{
   Debug.Log("Form Upload Complete");
}

Hope that helps

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐