MySql Speichern ... Wo liegt der Fehler ?

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,
    hab mal mein Script auf Mysql umgebaut...allerdings ist beim Speichern irgendwo ein Fehler...
    Hier mal der Auszug aus der mysql log:

    Code
    [Tue Dec 20 15:09:24 2011] Function: mysql_query executed: "UPDATE `accounts` SET `Skin`='173',`Level`='1',`Admin`='5',`Premium`='0',`Geld`='500',`HatKonto`='0',`Konto`='0',`BankPIN`='0',`ECKarte`='0',`Wanted`='0',`Leader`='1',`Member`='1',`Job`='0',`DienstSkin`='0',`NextPayday`='1',`RespektPunkte`='0',`Kills`='0'" with result: "0".
    [Tue Dec 20 15:09:30 2011] Function: mysql_query executed: "UPDATE `accounts` SET `Skin`='1',`Level`='1',`Admin`='5',`Premium`='0',`Geld`='500',`HatKonto`='0',`Konto`='0',`BankPIN`='0',`ECKarte`='0',`Wanted`='0',`Leader`='1',`Member`='1',`Job`='0',`DienstSkin`='0',`NextPayday`='1',`RespektPunkte`='0',`Kills`='0',`" with result: "1".
    [Tue Dec 20 15:09:30 2011] Error (0): Failed to exeute query. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1.
    [Tue Dec 20 15:10:26 2011] Function: mysql_query executed: "UPDATE `accounts` SET `Skin`='1',`Level`='1',`Admin`='5',`Premium`='0',`Geld`='500',`HatKonto`='1',`Konto`='10000',`BankPIN`='1234',`ECKarte`='0',`Wanted`='0',`Leader`='1',`Member`='1',`Job`='0',`DienstSkin`='0',`NextPayday`='1',`RespektPunkte`='0',`Kills" with result: "1".
    [Tue Dec 20 15:10:26 2011] Error (0): Failed to exeute query. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1.
    [Tue Dec 20 15:10:47 2011] Function: mysql_query executed: "UPDATE `accounts` SET `Skin`='1',`Level`='1',`Admin`='5',`Premium`='0',`Geld`='100',`HatKonto`='1',`Konto`='10400',`BankPIN`='1234',`ECKarte`='0',`Wanted`='0',`Leader`='1',`Member`='1',`Job`='0',`DienstSkin`='0',`NextPayday`='2',`RespektPunkte`='0',`Kills" with result: "1".
    [Tue Dec 20 15:10:47 2011] Error (0): Failed to exeute query. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1.
    [Tue Dec 20 15:10:50 2011] Function: mysql_query executed: "UPDATE `accounts` SET `Skin`='1',`Level`='1',`Admin`='5',`Premium`='0',`Geld`='100',`HatKonto`='1',`Konto`='10400',`BankPIN`='1234',`ECKarte`='0',`Wanted`='0',`Leader`='1',`Member`='1',`Job`='0',`DienstSkin`='0',`NextPayday`='2',`RespektPunkte`='0',`Kills" with result: "1".
    [Tue Dec 20 15:10:50 2011] Error (0): Failed to exeute query. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1.


    Und hier der "Speichern-Code"
    stock MySqlSpielerSpeichern(playerid)
    {
    new Query[512];

    format(Query,256,"UPDATE `accounts` SET `Skin`='%d',`Level`='%d',`Admin`='%d',`Premium`='%d',`Geld`='%d',\
    `HatKonto`='%d',`Konto`='%d',`BankPIN`='%d',`ECKarte`='%d',`Wanted`='%d',`Leader`='%d',`Member`='%d',`Job`='%d',`DienstSkin`='%d',\
    `NextPayday`='%d',`RespektPunkte`='%d',`Kills`='%d',`Tode`='%d',`Gebannt`='%d',`Autoschein`='%d',`Motorradschein`='%d',\
    `LKWschein`='%d',`Bootsschein`='%d',`Flugschein`='%d',`Angelschein`='%d' WHERE `Spielername`='%s'",
    GetPlayerSkin(playerid),Spieler[playerid][sLevel],Spieler[playerid][sAdmin],Spieler[playerid][sPremium],
    GetPlayerMoney(playerid),Spieler[playerid][sHatKonto],Spieler[playerid][sKonto],Spieler[playerid][sBankPIN],
    Spieler[playerid][sECKarte],Spieler[playerid][sWanted],Spieler[playerid][sLeader],Spieler[playerid][sMember],
    Spieler[playerid][sJob],Spieler[playerid][sDienstSkin],Spieler[playerid][sNextPayday],Spieler[playerid][sRespektPunkte],
    Spieler[playerid][sKills],Spieler[playerid][sTode],Spieler[playerid][sBanned],Schein[playerid][sAuto],
    Schein[playerid][sMotorrad],Schein[playerid][sLKW],Schein[playerid][sBoot],Schein[playerid][sFlug],Schein[playerid][sAngel],
    Spielername(playerid));
    mysql_query(Query);
    return printf("Account geupdatet: %s",Spielername(playerid));
    }
    //Edit Errors bekomm ich beim Compilen keine

  • new Query[512];
    format(Query,256,
    Sollte ja eher so aussehen:
    format(Query,sizeof(Query),
    Ja, mein Verdacht liegt darin, dass der String bei format zu klein angegeben
    wurde und format deshalb nicht alles in 'Query' gespeichert hat.


    EDIT:
    Außerdem ist es MySQL wayne, ob die Spaltennamen mit `` angegeben werden oder nicht.