Получить данные из php в скрипт c #

У меня есть скрипт unity3d c # для получения данных из php-файла.

Файл Unity C #:

using UnityEngine; using System.Collections; public class FrmPhp : MonoBehaviour { // Use this for initialization void Start () { string url = "http://localhost/abc/PgComm.php"; WWW www = new WWW(url); StartCoroutine(WaitForRequest(www)); } IEnumerator WaitForRequest(WWW www) { yield return www; // check for errors if (www.error == null) { Debug.Log("Text : "www.text); Debug.Log("DownLoad Bytes: "www.bytesDownloaded.ToString()); } else { Debug.Log("WWW Error: "+ www.error); } } // Update is called once per frame void Update () { } } 

Файл PHP

 <html> <body> <table name="mytable" border="0" cellspacing="0" cellpadding="0"> <tr> <td> Friend ID </td> </tr> <?php $db = pg_connect('host=localhost dbname=MyDB user=postgres password=xyz'); $query = "SELECT pk FROM Table1"; $result = pg_query($query); //printf ("<tr><td>%s</td>", $result); if (!$result) { echo "Problem with query " . $query . "<br/>"; echo pg_last_error(); exit(); } while($myrow = pg_fetch_assoc($result)) { printf ("<tr><td>%s</td>", $myrow['pk']); } ?> </table> </body> </html> 

То, что я получаю в единстве, – это

 Text : DownLoad Bytes: 110 

Любая идея, как получить данные с php.

Изменить код c #:

 using UnityEngine; using System.Collections; using System.Collections.Generic; using UnityEngine.Experimental.Networking; public class FrmPhp : MonoBehaviour { public Text txt; string url = "http://192.100.233.222/abc/Hello.php"; byte[] results; //byte results1 = 0x00; // Use this for initialization void Start () { StartCoroutine(GetText()); } IEnumerator GetText() { UnityWebRequest www = UnityWebRequest.Get(url); yield return www.Send(); if(www.isError) { Debug.Log(www.error); txt.text = www.error; } else { // Show results as text //results1 = 0x01; Debug.Log(www.downloadHandler.text); txt.text = www.downloadHandler.text; } } // Update is called once per frame void Update () { } } 

Ахой, викки,

1) Я не очень разбираюсь в C #, но то, что я сделал бы, чтобы помочь разработчику C #, – отправить ему данные в соответствующем формате. Например, XML или JSON, а не таблицы.

поэтому я бы попробовал это для JSON:

 <?php $db = pg_connect('host=localhost dbname=MyDB user=postgres password=xyz'); $query = "SELECT pk FROM Table1"; $result = pg_query($query); //printf ("<tr><td>%s</td>", $result); if (!$result) { echo "Problem with query " . $query . "<br/>"; echo pg_last_error(); exit(); } $return_arr = array(); while($myrow = pg_fetch_assoc($result)) { array_push($return_arr, $myrow); } echo json_encode($return_arr); 

2) если вы настаиваете на том, чтобы таблица использовала правильный HTML для таблицы, используйте printf ("<tr><td>%s</td></tr>", $myrow['pk']); вместо printf ("<tr><td>%s</td>", $myrow['pk']);

3) для использования xml вы можете попробовать что-то вроде этого

4) вы можете напрямую подключиться к базе данных Postgre, используя удаленное соединение с C # (если это вариант для вас), что-то вроде строк этого

надеюсь, это поможет

PS. Декодирование JSON в C # также может пригодиться