2016-07-19 12 views
0

Ich versuche Daten an meine Datenbank in Unity zu senden und es scheint nicht zu funktionieren. Ich weiß, es ist wahrscheinlich ein sehr dummer Fehler, da ich auf diesem Gebiet wenig Ahnung habe.Wie greife ich auf eine Datenbank in Unity zu?

Die # Skript C ich habe:

void logIn(string test) { 
 
     WWWForm form = new WWWForm(); 
 
     form.AddField("action","send"); 
 
     form.AddField("var1",test); 
 
     string url = "http://www.prizechief.com/unitycon.php"; 
 
     WWW w = new WWW(url, form); 
 
     
 
    } 
 

 
    void Start() { 
 
     string sample = "Works"; 
 
     logIn(sample); 
 
     
 

 
    }

Mein PHP-Code

<?php 
 
\t $con = @mysqli_connect("server","un","pass", "db") or die("Could not connect " . mysqli_connect_error() . "Please try again later."); 
 
\t 
 
\t $var1 = $_GET['var1']; 
 
\t echo $var1; 
 
\t 
 
\t mysqli_Query($con,"INSERT INTO test (var) VALUE ('$var1')"); 
 
?>

Auch ein Hinweis über die Verwendung von GET zu erhalten Informationen würden sehr geschätzt werden!

+0

Vielleicht mit mehr Details über WARUM es nicht funktioniert wäre hilfreich. –

+0

@CharlieFish Wenn ich wüsste, warum es nicht funktionierte, hätte ich das – Blar321

+1

Ja aber sagend nicht geschrieben "Ich versuche, Daten an meine Datenbank in Unity zu senden, und es scheint nicht zu arbeiten." ist nicht hilfreich. Wie funktioniert es nicht? Gibt es einen Fehler? Was passiert, wenn Sie versuchen, Daten zu posten? Bitte geben Sie an, wie es nicht funktioniert. Erwartetes Ergebnis und aktuelles Ergebnis usw. –

Antwort

0

Versuchen Sie es. Das sollte die WWW-Anfrage machen und in Ihrem PHP-Skript $_GET['var1'] = value1 setzen. Jetzt müssen Sie das natürlich zu Ihrer Variable auf der Straße ändern. Aber nur um jetzt zu testen. Wenn dies nicht funktioniert, lassen Sie mich wissen, was die Debug-Protokolle ausgeben.

void Start() { 
    string url = "http://www.prizechief.com/unitycon.php?var1=value1"; 
    WWW www = new WWW(url); 
    StartCoroutine(WaitForRequest(www)); 
} 

IEnumerator WaitForRequest(WWW www) 
{ 
    yield return www; 

    // check for errors 
    if (www.error == null) 
    { 
     Debug.Log("WWW Ok!: " + www.data); 
    } else { 
     Debug.Log("WWW Error: "+ www.error); 
    }  
} 

EDIT

Denken Sie daran, in Bearbeiten> Player-Einstellungen gehen> Editor und die URL Ihrer Domäne ändern.

+0

WWW-Fehler: Abgelehnt, weil keine crossdomain.xml Richtliniendatei gefunden wurde UnityEngine.Debug: Log (Objekt) c__Iterator0: MoveNext() (at Assets/Scripts/login.cs: 24) – Blar321

+0

Update: Nachdem ich eine Weile damit herumgespielt habe, habe ich es geschafft, es zum Laufen zu bringen. Ich ging zu Edit => Player Settings => Editor und änderte die URL zu meiner Domain. Danke: D – Blar321

+0

Cool! Froh, dass ich helfen konnte. Wenn Ihnen der Code gefällt, denken Sie bitte daran, die Antwort zu akzeptieren, damit andere Benutzer, die das gleiche Problem haben, dies ebenfalls sehen können. Natürlich keine Notwendigkeit, aber wenn es geholfen hat und du nur für andere Benutzer willen willst :) Ich werde reingehen und einen Schnitt zu meiner Antwort machen, um diesen Teil jetzt aufzunehmen. Froh, dass es jetzt funktioniert !! –

Verwandte Themen