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))
这应该可以解决问题。
所以我有一个统一的脚本,它通过 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))
这应该可以解决问题。