Spieler läd Query nicht!

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
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
  • Hallo Community,


    ich weiss einfach nicht wieso mein Account mit MYSQL nicht geladen wird...


    stock LoadPlayer(playerid){
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
    {
    new query[128], var[128];
    GetPlayerName(playerid, pname, sizeof(pname));
    format(query,sizeof (query),"SELECT * FROM `accounts` WHERE `Name`='%s'",pname);
    mysql_query(query);
    mysql_store_result();


    Das ist ganz oben und so lad ich :


    mysql_get_field("id", var); SInfo[playerid][pid] = strval(var);
    mysql_get_field("Level", var); SInfo[playerid][pLevel] = strval(var);


    Wenn ich es so mache geht es:


    SInfo[playerid][pHatRegi] = mysql_get_field("HatRegi",var);


    aber das will ich nicht... sondern ich will es so wie oben da dass Schneller ist..


    Ich bitte um hilfe


    LG

  • Mach es doch so:


    SInfo[playerid][pid] = mysql_get_field("id", var);
    SInfo[playerid][pLevel] = mysql_get_field("Level", var);


    Einerseits ist das meiner Meinung nach schneller da, das was du machen willst noch eine Zwischensequenze eingebaut ist und deshalb "etwas" langsamer ist, aber ich verstehe noch immer nicht so ganz wieso du das anders machen willst, erläutere mal bitte etwas genauer.

  • Zu mir sagen viele ich soll das andere machen, weil es schneller ist... ob wohl doch dort der code viel komplizierter ist und viel länger ist und mehr zwischen speichern muss ^^


    //edit


    SInfo[playerid][pGeld] = mysql_get_field("Geld",val);


    Das muss aber eine Float sein, wie mach ich das nun? Kann ja schlecht das in eine variable setzen, dann kommt ja das selbe raus ^^

  • Habe ich doch schon lange gemacht ;)


    SInfo[playerid][pGeld] = mysql_fetch_float("Geld",var);


    Error;


    C:\Users\Moritz McGarrett\Desktop\Selfmade\gamemodes\Selfmade.pwn(5501) : error 035: argument type mismatch (argument 1)
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.


    //edit


    kann man das nicht irgendwie anders beheben ?


    Ich verstehe nicht mal, wieso sich das andere nicht laden tut, dass so ist:


    mysql_get_field("FreiMin", var); SInfo[playerid][pFreiMin] = strval(var);

  • SInfo[playerid][pGeld] = mysql_get_field("Geld",var);


    Es muss doch aber irgendwie das gehen mit einer Float... dieses ganze MYSQL verwirrt mich...


    Ansonsten wieso geht das nicht !?


    stock LoadPlayer(playerid){
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
    {
    new query[128], var[128],data[128];
    GetPlayerName(playerid, pname, sizeof(pname));
    format(query,sizeof query,"SELECT * FROM `accounts` WHERE `Name`='%s'",pname);
    mysql_query(query);
    mysql_store_result();
    SInfo[playerid][pid] = mysql_get_field("id",var);
    SInfo[playerid][pLevel] = mysql_get_field("Level",var);
    SInfo[playerid][pGeld] = mysql_get_field("Geld",var);
    SInfo[playerid][pKills] = mysql_get_field("Kills",var);
    SInfo[playerid][pTode] = mysql_get_field("Tode",var);
    mysql_get_field("HatRegi",data);
    SInfo[playerid][pHatRegi] = strval(data);
    mysql_get_field("Alter", var); SInfo[playerid][pAlter] = strval(var);


    Bei jedem klappts nur bei mir nicht...


    LG

  • new string[100], result[60], Query[100];
    GetPlayerName(playerid, VarName[0], MAX_PLAYER_NAME+1);
    format(string, sizeof(string), "SELECT * FROM TABELLE WHERE `Name` = '%s'", VarName[0]);
    mysql_query ( string , -1, -1);
    mysql_store_result();
    if(mysql_retrieve_row())
    {
    mysql_fetch_field_row(result ,"Spalte"); Variable[0] = strval(result);
    mysql_fetch_field_row(result ,"Spalte"); Variable[1] = strval(result);
    }
    mysql_free_result();


  • welches mysql plugin hast du? ich habe R5


    /edit ich habe das ganze auch im Falschem Bereich gepostet...


    gehört zu SA:MP und nicht zu MTA..


    sorry


    Wie lade ich diese Float nun?


    new query[128], var[128],data[128];
    GetPlayerName(playerid, pname, sizeof(pname));
    format(query,sizeof query,"SELECT * FROM `accounts` WHERE `Name`='%s'",pname);
    mysql_query(query);
    mysql_store_result();


    So lade ich es von der Tabelle


    Danach:


    Das geht:


    SInfo[playerid][pid] = mysql_get_field("id",var);


    Das geht nicht weil es eine Float ist, und ich nicht weiss wie ich das sonst machen soll:


    SInfo[playerid][pGeld] = mysql_get_field("Geld",var);


    Das geht gar nicht:


    mysql_get_field("Alter", var); SInfo[playerid][pAlter] = strval(var);

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen