WWW returns "Null"(我想我无法连接到 php 文件)- C# Unity

WWW returns "Null" (I think I cant connect to php file) - C# Unity

所以我有一个统一的脚本,它通过 PHP 脚本连接到 MySQL 数据库。 PHP 脚本工作正常,但我无法从 Unity(C# 脚本)连接到 PHP 文件。 WWW 的 URL 是 localhost,它是 XAMPP(不知道这是否是问题所在)

这是我的代码:

private string CreateAccountUrl = "http://localhost/CreateAccountScript.php";
IEnumerator CreateAccount()
{
    WWWForm Form = new WWWForm();

    Form.AddField("Email", CEmail);
    Form.AddField("Password", CPassword);
    Form.AddField("Username", CUsername);

    WWW CreateAccountWWW = new WWW(CreateAccountUrl, Form);

    yield return CreateAccountWWW;
    if (CreateAccountWWW.error != "Null")
    {
        Debug.LogError("Cannot Connect to Account Creation!");
    }else
    {
        string CreateAccountReturn = CreateAccountWWW.text;
        if (CreateAccountReturn == "Success")
        {
            Debug.Log(CreateAccountReturn);
            CreateAccountMenuHolder.SetActive(false);
            ConfirmEmailMenuHolder.SetActive(true);
        }else if (CreateAccountReturn == "DB Error")
        {
            Debug.LogError("DB ERROR!");
        }else if (CreateAccountReturn == "Can't connect to DB (connect)")
        {
            Debug.LogError("Can't connect to DB (connect)");
        }else if (CreateAccountReturn == "Can't connect to DB (select)")
        {
            Debug.LogError("Can't connect to DB (select)");
        }
    }
}

请忽略错误调试,它们仅用于测试...


如果您需要我的 PHP 代码,请说出来,因为我真的需要帮助。

提前致谢!

可能没有错误,但根据您当前的代码,您总会认为有错误。您有以下错误比较:

if (CreateAccountWWW.error != "Null")
{
    Debug.LogError("Cannot Connect to Account Creation!");
}

也就是说,您正在将可能的错误消息与字符串 "Null" 进行比较。那不是你想做的。你想检查你的 error 成员是否真的是空的。即

if (CreateAccountWWW.error != null)

或者,或者,

if(!string.IsNullOrEmpty(CreateAccountWWW.error))

这应该可以解决问题。