mySQL Speicherung scheitert

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
  • Naja, ich weiss weder was "racuni" ist noch "Korisnik" ist.Sicher, dass Query groß genug ist für den kompletten String ?
    Du kannst ja mal den String mit print ausgeben lassen und einfach in XAMPP ausführen ( Hast doch sicherlich lokal einen MySQL Server installiert, da sollte es sicherlich gehen ) lassen.
    Da bekommst du eine genauere Fehlerbeschreibung.

  • Also die Variable ist groß genug. Das mit Xampp will ich erst gar nicht ausprobieren, ja mySQL ist lokal. Ich habs jetzt nochmal "ernuert":



    public OnPlayerDisconnect(playerid, reason)
    {
    new SQuery[1024];
    format(SQuery, sizeof(SQuery), "UPDATE User FROM `users`, `Money` = '%d', `Score` = '%d', `Kills` = '%d', `Deaths` = '%d', `Admin` = '%d', `Warns` = '%d' WHERE `User` = '%s' LIMIT 1", GetPlayerMoney(playerid), GetPlayerScore(playerid), PlayerInfo[playerid][pKills], PlayerInfo[playerid][pDeaths], PlayerInfo[playerid][pAdmin], PlayerInfo[playerid][pWarns], mysql_get_name(playerid));
    mysql_query(SQuery);


    return 1;
    }


    Hier die Tables:



    Benutze das Plugin von BlueG

  • public OnPlayerDisconnect(playerid, reason)
    {
    new SQuery[1024];
    format(SQuery, sizeof(SQuery), "UPDATE User FROM `users`, `Money` = '%d', `Score` = '%d', `Kills` = '%d', `Deaths` = '%d', `Admin` = '%d', `Warns` = '%d' WHERE `User` = '%s' LIMIT 1", GetPlayerMoney(playerid), GetPlayerScore(playerid), PlayerInfo[playerid][pKills], PlayerInfo[playerid][pDeaths], PlayerInfo[playerid][pAdmin], PlayerInfo[playerid][pWarns], mysql_get_name(playerid));
    mysql_query(SQuery);


    return 1;
    }
    Das ist zum Beispiel totaler Blödsinn. UPDATE und FROM sind Gegensätze. Das eine schreibt ( SET ) , das Andere ließt ( GET ).
    UPDATE <TABELLE>
    SET <FELD> = <WERT>
    ( WHERE <FELD> = <WERT> )
    Auf dem Bild rechts neben "Struktur" steht doch SQL.Da kannst du doch die Querys ausprobieren.

  • Das kann ich nur unterzeichnen.
    Du solltest dich erstmal mit dem Erstellen von Querys auseinandersetzen.


    //edit: Warum Limit 1? Gibt es bei euch mehrere User mit dem gleichem Nutzernamen?
    Und für die Zukunft würde es sich anbieten eine ID (mit Autoincrement / und Key) einzusetzen, damit man schnell zwischen den Tabellen "kommunizieren" kann.