[MYSQL] Float auslesen aber wie?

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
  • Hey,



    ich versuche seit ein paar Stunden schon einen Float aus der Datenbank auszulesen, das speichern ist kein Problem.Die Suche hat leider auch nichts ergeben, vielleicht oder eher hoffentlich könnt ihr mir ja helfen. Di



    mein stock LoadPlayer:



    stock LoadPlayer(playerid)
    {
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
    {
    GetPlayerName(playerid, SpielerInfo[playerid][pName], MAX_PLAYER_NAME);
    SpielerInfo[playerid][pLevel] = mysql_GetInt("accounts", "Level", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pIsBanned] = mysql_GetInt("accounts", "IsBanned", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pGeld] = mysql_GetInt("accounts", "Geld", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pFraktion] = mysql_GetInt("accounts", "Fraktion", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pRank] = mysql_GetInt("accounts", "Rank", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pAdminlevel] = mysql_GetInt("accounts", "Adminlevel", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][PosX] = mysql_GetFloat("accounts", "PosX", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][PosY] = mysql_GetFloat("accounts", "PosY", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][PosZ] = mysql_GetFloat("accounts", "PosZ", "Name", SpielerInfo[playerid][pName]);
    }
    return 1;
    }



    Die Funktion GetFloat:



    stock mysql_GetFloat(Table[], Field[], Where[], Is[])
    {
    new query[128], Float:sqlfloat;
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    mysql_real_escape_string(Is, Is);
    format(query, 128, "SELECT `%s` FROM `%s` WHERE `%s` = '%s'", Field, Table, Where, Is);
    mysql_query(query);
    mysql_store_result();
    mysql_fetch_float(sqlfloat);
    mysql_free_result();
    return sqlfloat;
    }



    Jetzt ist das Problem das bei LoadPlayer in den Float Zeilen (also PosX PosY und PosZ) immer wieder Tag missmatch als Warning herauskommt. Ich hoffe ihr könnt mir weiterhelfen, da mein Latein mich anscheinend verlassen hat != Gut!




    Danke schonmal im vorraus





    Edit I = Formatierung rausgenommen da es unleserlich war

    Do you have code that doesn't work, but still compiles without errors?


    [

  • enum SpielerDaten
    {
    pName[MAX_PLAYER_NAME],
    pLevel,
    pIsBanned,
    pGeld,
    pFraktion,
    pRank,
    pAdminlevel,
    float:PosX,
    float:PosY,
    float:PosZ
    }

    Do you have code that doesn't work, but still compiles without errors?


    [

  • stock mysql_GetFloat(Table[], Field[], Where[], Is[])
    {
    new query[128], Float:sqlfloat;
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    mysql_real_escape_string(Is, Is);
    format(query, 128, "SELECT `%s` FROM `%f` WHERE `%s` = '%s'", Table, Field, Where, Is);
    mysql_query(query);
    mysql_store_result();
    mysql_fetch_float(sqlfloat);
    mysql_free_result();
    return sqlfloat;
    }

  • Ok,


    Jetzt habe ich nur noch ein Warning:


    script.pwn(507) : warning 213: tag mismatch






    stock mysql_GetFloat(Table[], Field[], Where[], Is[])
    {
    new query[128], Float:sqlfloat;
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    mysql_real_escape_string(Is, Is);
    format(query, 128, "SELECT `%s` FROM `%f` WHERE `%s` = '%s'", Table, Field, Where, Is);
    mysql_query(query);
    mysql_store_result();
    mysql_fetch_float(sqlfloat);
    mysql_free_result();
    return sqlfloat; // <----- Zeiel 507
    }



    PS: wieso klappt die Formatierung bei euch und bei mir nicht ? dafuq?
    PS² : Also ein teil des Fehlers war es sicherlich das ich Foat kleingeschrieben haben daher hat es sich von 3 auf 1 Warn reduziert




    Float klein geschrieben *facepalm*

    Do you have code that doesn't work, but still compiles without errors?


    [