2016-07-19 4 views
0

Возвращение пустой строки, и я не могу понять, почему, если вы заходите на страницу, она выводится нормально. (http://lgdev.site.nfoservers.com/getItems.php). Я пытаюсь получить все данные, отделить их от определенных символов, а затем использовать код в игре, чтобы управлять им и сортировать его в нужные места. Но, как я уже сказал, он возвращает пустую строку вместо данных, которые показывают на веб-странице, которую я дал выше.WWW в Unity, возвращающем пустую строку

игры Код:

public void loadItems() 
{ 
    WWWForm form = new WWWForm(); 
    WWW w = new WWW("http://lgdev.site.nfoservers.com/getItems.php", form); 
    StartCoroutine(loadItemsFunc(w)); 
} 

IEnumerator loadItemsFunc(WWW w) 
{ 
    yield return w; 
    Debug.Log(w.text); 
    string[] tmpdata1 = w.text.Split(char.Parse("=")); 
    foreach(string data in tmpdata1) 
    { 
     string[] tmpinfo = data.Split(char.Parse("~")); 
     GameObject tmpObj = Instantiate(weapon); 
     tmpObj.GetComponent<weapon>().name = tmpinfo[0]; 
     tmpObj.GetComponent<weapon>().vitalisim = int.Parse(tmpinfo[1]); 
     tmpObj.GetComponent<weapon>().defence = int.Parse(tmpinfo[2]); 
     tmpObj.GetComponent<weapon>().strength = int.Parse(tmpinfo[3]); 
     string[] offsetInfo1 = tmpinfo[5].Split(char.Parse(";")); 
     foreach (string off in offsetInfo1) 
     { 
      string[] offset = off.Split(char.Parse(",")); 
      tmpObj.GetComponent<weapon>().offsetsPos.Add(new Vector3(float.Parse(offset[0]), float.Parse(offset[1]), float.Parse(offset[2]))); 
      tmpObj.GetComponent<weapon>().offetsRot.Add(new Vector3(float.Parse(offset[3]), float.Parse(offset[4]), float.Parse(offset[5]))); 
      tmpObj.GetComponent<weapon>().offetsSize.Add(new Vector3(float.Parse(offset[6]), float.Parse(offset[7]), float.Parse(offset[8]))); 
     } 
     string[] typeInfo = tmpinfo[4].Split(char.Parse(",")); 
     if (tmpinfo[1] == "SwordnShield") 
     { 
      tmpObj.GetComponent<weapon>().anim = swordAndShieldAnimSet; 
     } 
     else if (tmpinfo[1] == "TwoHanded") 
     { 
      tmpObj.GetComponent<weapon>().anim = twoHandedAnimSet; 
     } 
     foreach (string prefab in tmpinfo[6].Split(char.Parse(","))) 
     { 
      tmpObj.GetComponent<weapon>().prefabs.Add(prefab); 
     } 
    } 

} 

PHP код:

<?PHP 
 
    $con = mysql_connect("localhost","user","passs") or ("Cannot connect!" . mysql_error()); 
 
    if (!$con) 
 
    die('Could not connect: ' . mysql_error()); 
 

 
    mysql_select_db("lgdev_projectzed" , $con) or die ("could not load the database" . mysql_error()); 
 
    $query = "SELECT * FROM `equipment`"; 
 
    $check = mysql_query($query) or die(mysql_error()." ".$query); 
 
    if($check){ 
 
    } 
 
    $numrows = mysql_num_rows($check); 
 
    $text = ""; 
 
    while ($row = mysql_fetch_array($check, MYSQL_ASSOC)) { 
 
     $text = $text."".$row["name"]."~".$row["vitalism"]."~".$row["defence"]."~".$row["strength"]."~".$row["type"]."~".$row["offsets"]."~". $row["prefabs"] ."="; 
 
    } 
 
    die($text); 
 

 
?>

ответ

1

Во-первых, проверьте, если это дает какие-либо ошибки с:

Debug.Log(w.error); // place this before or after the other debug.log 

Так как форма, которую вы передаете пустой, есть какая-то ошибка .. Так проверить, как настроить вашу форму: https://docs.unity3d.com/ScriptReference/WWWForm.html

Если вам не нужно размещать что-либо в форме, можно использовать обычный WWW https://docs.unity3d.com/ScriptReference/WWW.html

+0

Спасибо, как только я удалил часть формы, она отлично работала :) –

+0

@DamienMOstler Пожалуйста, не забудьте принять ответ, так как он сработал для вас. – Programmer

+0

Как это сделать @Programmer –

Смежные вопросы