Rank aus Datenbank auslesen (Mysql R7)

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Huhu,


    ich hab ein Problem undzwar möchte ich den Ranknamen aus der Datenbank auslesen, es geht aber nicht so wie gewollt :(


    stock GetRankName(Fraktion,Rank){
    new query[500];
    format(query,sizeof(query),"SELECT `rankname%d` FROM `ranknamen` WHERE `fraktion`='%d'",Rank,Fraktion);
    return mysql_function_query(sqlconnection, query, true, "Fraktionsnamen", "dd", Fraktion,Rank);
    }


    public Fraktionsnamen(Fraktion,Rank){
    new rows, fields, answer[32];
    cache_get_data(rows, fields);
    if(rows)
    cache_get_row(0, 0, answer, sqlconnection);
    return answer;
    }


    Man kann ja kein string in einer Public return :(

    Einmal editiert, zuletzt von Marcel789 ()

  • Generell ist das so gar nicht möglich, da der Cache zum Zeitpunkt der Ausführung des Queries noch gar nicht zur Verfügung steht, sprich du kannst ihn nicht zurück geben, ohne dass der Server auf die Ausführung wartet. Das geht mit mysql_tquery jedoch nicht.


    Wenn du es wirklich jedes mal aus der Datenbank lesen willst, dann nutze mysql_query und direkt danach, also ohne ein Callback, liest du den Cache aus. Das ist zwar nicht zu empfehlen, da der Server auf den Cache wartet, aber nur so geht es, ohne dass du den ganzen Code auf Java umschreiben musst, sofern es da gehen sollte, was ich bezweifle, aus genanntem Grund.


    Am besten wäre es jedoch, wenn du die Daten direkt beim Server Start in Variablen speichern lässt und dann im Betrieb immer nur auf die Variablen zugreifst.