MySQL, Speichern problem

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
  • Guten Abend,


    nun ich habe mich entschieden in meinem GameMod MySQL zu verwenden.
    Nun habe ich ein Tutorial aufgesucht und hier dieses befolgt: http://forum.sa-mp.com/index.php?topic=158851.0
    Alles funktioniert soweit, nur leider wenn ich ein neuen Wert speichern will funktioniert es nicht.


    Beispiel: Ich will das Geld eines Users speichern.


    Code:


    Es kommen keine Errors, anscheinend verstehe ich das nicht wie man neue Werte reinmacht. =/
    Ich bedanke mich sehr für eure Hilfe.

    Einmal editiert, zuletzt von bfkj ()

  • Hallo, ich würde das ohne Funktion machen, gleich mit mysql_query machen.... und nicht mit mysqlupdate...


    Ehm, das kommt mir komisch vor:
    format(updatestring,256,"%d",PlayerInfo[playerid][pCash]);//Umwandeln der Variable in einen String damit Updatefuntkion geht

    Soll da nicht %s stehen, weil danach wird ein integer als String eingesetzt, kann nicht gut ausgehen.

  • Ehm, naja. Könntest du mir nicht zeigen, wie das aussieht mit dem query. Ich bin neu da, hab zwar paar Sachen schon gelesen aber umsetzen kann ich das noch nicht ganz.
    Da muss ich schon ein Beispiel sehen ;). Also könntest du mir vielleicht das Script so machen, dass das Geld abgespeichert wird?


    Edit: Wäre es so richtig?


    Code
    mysql_query("INSERT INTO`money` FROM `userdata` WHERE `Nickname` = '%s'",pCash);


    Funct trotzdem nicht, so langsam könnte ich's kotzen bekommen -.-.
    Den anderen kram wie Updat funktioniert auch nicht. Glaube da ist was falsch mit pCash
    Och manno, schwer nach 10 Stunden noch Interesse zu zeigen das hinzubekommen ^.^.
    Also, ich hoffe mir kann noch jemand helfen :P. Ich weiß nicht wie dankbar ich dann bin ;).

    6 Mal editiert, zuletzt von bfkj ()

  • Ah ehm sry, vorher gehört dieser natürlich fomatiert, da habe ich nicht nachgedacht...



    new query[128];
    format(query,sizeof(query),"update userdata set money = '%d' where Nickname = '%s'",pCash,playername);
    mysql_query(query);

  • Auszug aus der Log:



    Hmm, kann das sein das ich pCash falsch gemacht habe`?
    Hier:

    Code
    PlayerInfo[playerid][pCash] = GetPlayerMoney(playerid);



    Hmm, gibt es niemanden anderen der sich in MySQL hier auskennt O.o?
    Ich meine so schwer wird das bestimmt nicht sein. Vielen Dank Grex für deine Hilfe bisher ;).

    2 Mal editiert, zuletzt von bfkj ()

  • Hm achso, joa moment ;).


    Edit:



    PS: Der Befehl wird ja ausgeführt beim verlassen des Servers. Bin drauf gejoint und wieder geleavt.

  • Ja steht darin:


  • PlayerName ist direkt bei Update definiert:



    Und UserUpdate:


    Code
    public OnPlayerDisconnect(playerid, reason)
    {
    UserUpdate(playerid);
    PlayerInfo[playerid][pLogged]=0;
    return 1;
    }


    *Gähn*, bis ich das mal hinbekomme bin ich 80 Jahre alt.
    Kaum zu glauben das es nur einen gibt, der sich in MySQL auskennt.



    Edit: Naja ich bin dann schlafen, gibt anscheinend niemanden der sich auskennt, oder niemanden der mir helfen möchte.


    Gute Nacht.

    3 Mal editiert, zuletzt von bfkj ()

  • Du kannst ja einfach mal überall printf machen um zusehen, wo er dann nicht mehr hinkommt, z.b. unter if(PlayerInfo[playerid][pLogged]==1) kannste dann mal machen printf("logged ok"); oder sonst was. Solltest ja nicht nur posten was geht, sondern selbst ein bisschen herumprobieren,...

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