Так что у меня есть единый скрипт, который подключается к базе данных MySQL через скрипт PHP. Скрипт PHP работает нормально, но я не могу подключиться к файлу PHP из Unity (скрипт C #). URL для WWW является 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))
Это должно делать свое дело.
Других решений пока нет …