Aufruf von php-Skript mit C# (Unity)

Ich bin ziemlich neu, um sowohl die Einheit und PHP, und ich arbeite derzeit an einem Projekt, wo ich Parsen von Daten aus einer MySQL-Datenbank zu einer Einheit, mit PHP.

Ich wollte zunächst versuchen Sie, und aktivieren Sie eine Methode, wo der Benutzer kann sich vielleicht ändern Sie das php-Skript, und aktivieren Sie wählen Sie eine andere Tabelle von Daten, jedoch wurde ich darauf hingewiesen, dass es sicherer sein kann, um eine Liste aller Variablen im php-script und nennen Sie es aus der Einheit entsprechend;

Display.php

$table = mysql_real_escape_string($_GET['table'], $db);

if ($table == "shoes") { 
    $query = "SELECT * FROM `shoes` ORDER by `price` ASC LIMIT 10";

elseif ($table == "sneakers") { 
    $query = "SELECT * FROM `sneakers` ORDER by `price` ASC LIMIT 10";

$result = mysql_query($query) or die('Query failed: ' . mysql_error());
$num_results = mysql_num_rows($result);  

for($i = 0; $i < $num_results; $i++)
{
    $row = mysql_fetch_array($result);
    echo $row['shopname'] . "\t" . $row['price'] . "\n";
}

Ich habe Probleme beim aufrufen der php und wählen Sie die Tabelle, die ich auswählen möchte, ich bin ziemlich neu hier, also ich bitte um Entschuldigung, wenn dies scheint völlig inkompetent zu Euch.

Hier ist meine Unity-Skript;

HSController.cs

void Start()
{
    StartCoroutine(GetScores());
}

//remember to use StartCoroutine when calling this function!
IEnumerator PostScores(string name, int score)
{

    string hash = Md5Sum(name + score + secretKey);

    string post_url = addScoreURL + "name=" + WWW.EscapeURL(name) + "&score=" + score + "&hash=" + hash;

    WWW hs_post = new WWW(post_url);
    yield return hs_post; //Wait until the download is done

    if (hs_post.error != null)
    {
        print("There was an error posting the high score: " + hs_post.error);
    }
}

IEnumerator GetScores()
{
    gameObject.guiText.text = "Loading...";
    WWW hs_get = new WWW(highscoreURL);
    yield return hs_get;

    if (hs_get.error != null)
    {
        print("There was an error getting the high score: " + hs_get.error);
    }
    else
    {
        gameObject.guiText.text = hs_get.text; //this is a GUIText that will display the scores in game.
    }
}

Jede Hilfe oder ein Punkt in die richtige Richtung wäre toll!

Freundlichen GRÜßEN

  • Für welche Plattform du entwickeln ? wenn gewinnen, dann können Sie versuchen, verwenden Sie " System.Net.HttpWebRequest'
  • Ich entwickle es für iPhone-und Android-Anwendung
  • In der Beispiel-code, den Sie geschrieben, die Sie nicht senden, oder setzen Sie die table GET variable
  • Entschuldige mich, ich bin auch nicht sicher, was zu tun gibt? irgendwelche Vorschläge?
  • In der PHP-Abschnitt, Lesen Sie die table variable $_GET['table'] aber Sie scheinen nicht zu setzen, in der C# - code.
  • Zwei } fehlen in Ihrem PHP-code, für die if und die elseif Aussagen jeweils.
  • ich bin immer leere Antwort vom server? kennen Sie den Grund

InformationsquelleAutor user1809075 | 2013-12-16
Schreibe einen Kommentar