Kurze mysql frage

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
  • Ich möchte ein Withdraw über dialog machen..den dialog habe ich..nun möchte ich wissen wenn ich mysql_free_result mache wird es je gelöscht was man abgefragt hat ..wird das auch dann aus der variable gelöscht ?
    if(mysql_fetch_row(line)) //Fetches the line
    {
    new data[13];//The data strings
    new data2[10]; //The data variables
    sscanf(line, "p|ds[24]s[60]dddddd",data2[1], data[1],data[2],data2[2],data2[3],data2[4],data2[5],data2[6],data2[7]); //Splits the line with sscanf
    bankcash = data2[5]; // diese zeile hier
    // wenn Ich jetzt hier drunter ein mysql_free_result(); mache ob es dann immer noch in der bankcash variable gespeichert ist oder nicht
    }


    }


    PS: mysql plugin von G-StyleZzZ

    MFG XeroX :thumbup:


    Edit: Was hinzugefügt

  • ich bins nochmal..wollte kein neues Thema extra darfür erstellen.. also ich möchte ein Ban System machen welches abfragt ob er in der Datenbank mit einem Ban Eintrag verzeichnet ist oder nicht ( Ob er gebannt ist oder nicht) funktioniert auch soweit nur bekomme ich kein inhalt aus der Datenbank angezeigt. Habe es auch schon mit strval gemacht aber bleibt weiterhin leer..und finde nicht den Fehler oder was ich die ganze Zeit falsch mache



    new data[4];//The data strings
    new data2[2]; //The data variables
    new aname[25];
    new bname[25];
    new breason[129];
    sscanf(line, "p<|>ds[24]s[24]s[128]",data2[1],data[1],data[2],data[3]); //Splits the line with sscanf
    bname[24] = strval(data[2]);
    aname[24] = strval(data[1]);
    breason[128] = strval(data[3]);
    SendClientMessage(playerid,COLOR_YELLOW,"You have been banned from this Server");
    format(string,sizeof(string),"Player Name: %s",bname);
    SendClientMessage(playerid,COLOR_YELLOW,string);
    format(string,sizeof(string),"Ban Reason: %s",breason);
    SendClientMessage(playerid,COLOR_YELLOW,string);
    format(string,sizeof(string),"Banned by: %s",aname);
    SendClientMessage(playerid,COLOR_YELLOW,string);
    SendClientMessage(playerid,COLOR_YELLOW,"If you think you were banned for the wrong reason");
    SendClientMessage(playerid,COLOR_YELLOW,"Please make a screenshot of this and Post it at www.sfcnr.net");
    Kick(playerid);
    mysql_free_result();
    return 1;


    Edit: habe es mal mit
    mysql_real_escape_string(data[1],aname);
    mysql_real_escape_string(data[2],bname);
    mysql_real_escape_string(data[3],breason);


    versucht ich bekomm was angezeigt aber nicht so wie ich das gerne hätte...Also der name zum beispiel wird beim Grund geschrieben und der Grund beim namen


    Edit: Hat sich erledigt

    2 Mal editiert, zuletzt von XeroX ()

  • bname[24] = strval(data[2]);
    aname[24] = strval(data[1]);
    breason[128] = strval(data[3]);
    Du machst einen string zu einem integer, und speicherst diesen wieder in einem string. Warum?^^


    sscanf(line, "p<|>ds[24]s[24]s[128]",data2[1],data[1],data[2],data[3]); //Splits the line with sscanf
    Hier das gleiche, du speicherst strings in einer einfachen variable. Kann ja nicht funktionieren^^



    Versuch es mal so:
    new
    data,
    aname[25],
    bname[25],
    breason[129]
    ;
    sscanf(line, "p<|>ds[24]s[24]s[128]",data,aname,bname,breason);
    SendClientMessage(playerid,COLOR_YELLOW,"You have been banned from this Server");
    format(string,sizeof(string),"Player Name: %s",bname);
    SendClientMessage(playerid,COLOR_YELLOW,string);
    format(string,sizeof(string),"Ban Reason: %s",breason);
    SendClientMessage(playerid,COLOR_YELLOW,string);
    format(string,sizeof(string),"Banned by: %s",aname);
    SendClientMessage(playerid,COLOR_YELLOW,string);
    SendClientMessage(playerid,COLOR_YELLOW,"If you think you were banned for the wrong reason");
    SendClientMessage(playerid,COLOR_YELLOW,"Please make a screenshot of this and Post it at www.sfcnr.net");
    Kick(playerid);
    mysql_free_result();
    return 1;


    Und wenn du den ersten wert aus der tabelle (der durch sscanf in data gespeichert wird) nicht brauchst, kannst du ihn auch ausklammern. Also so:
    sscanf(line, "p<|>{d}s[24]s[24]s[128]",aname,bname,breason);
    { } sagt sscanf dass da zwar ein wert ist, dieser aber an keine variable weiter gegeben werden soll.



    //Edit: oh, hab das "hat sich erledigt" überlesen, sry.

    The fact is, I am right. And if you think I'm wrong, you are wrong.