MySQL UPDATE ist mit Alter nicht zufrieden (Error 1064!) / Ladefehler -.-

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
  • Hi Leutz,


    das Updaten meines Alters funktioniert nicht...
    Hier die Daten vom Script:

    setAlter(playerid,newOne)
    { SetPVarInt(playerid,"Alter",newOne); return 1; }
    getAlter(playerid)
    { new i = GetPVarInt(playerid,"Alter"); return i; }
    //OnPlayerDisconnect
    format(query,sizeof(query),"UPDATE Account_Tab SET Passwort = '%s' WHERE Username = '%s'",getPasswort(playerid),GetName(playerid)); mysql_query(query);
    format(query,sizeof(query),"UPDATE Account_Tab SET Adminlevel = '%d' WHERE Username = '%s'",getAdminLv(playerid),GetName(playerid)); mysql_query(query);
    format(query,sizeof(query),"UPDATE Account_Tab SET Alter = '%d' WHERE Username = '%s'",getAlter(playerid),GetName(playerid)); mysql_query(query);
    format(query,sizeof(query),"UPDATE Account_Tab SET Herkunft = '%s' WHERE Username = '%s'",getHerkunft(playerid),GetName(playerid)); mysql_query(query);
    format(query,sizeof(query),"UPDATE Account_Tab SET Geschlecht = '%s' WHERE Username = '%s'",getGeschlecht(playerid),GetName(playerid)); mysql_query(query);
    format(query,sizeof(query),"UPDATE Account_Tab SET Job = '%s' WHERE Username = '%s'",getJob(playerid),GetName(playerid)); mysql_query(query);
    format(query,sizeof(query),"UPDATE Account_Tab SET Fraktion = '%s' WHERE Username = '%s'",getFraktion(playerid),GetName(playerid)); mysql_query(query);
    format(query,sizeof(query),"UPDATE Account_Tab SET Rank = '%d' WHERE Username = '%s'",getRank(playerid),GetName(playerid)); mysql_query(query);
    format(query,sizeof(query),"UPDATE Account_Tab SET Wanted = '%d' WHERE Username = '%s'",getWanted(playerid),GetName(playerid)); mysql_query(query);

    Hier der Debug:


    Irgendwie ist alles durcheinander...
    Es wird auch irgendwie Wirr-Warr geladen...
    Hier der Code

    new Passwort_Input[128];
    GetAccountPasswort(GetName(playerid),Passwort_Input);
    if(!strcmp(Passwort_Input,inputtext,true))
    {
    new query[550],string[128];
    format(query,sizeof(query),"SELECT * FROM Account_Tab WHERE Username = '%s'",GetName(playerid));
    mysql_query(query);
    mysql_store_result();
    while(mysql_fetch_row(query))
    {
    sscanf(query,"e<p<|>ds[25]s[128]dds[30]s[30]s[30]s[30]dd>",MySQL_Enum[playerid]);
    }
    setMySQLToPVar(playerid);
    fscm(string,playerid,Color_Server,"Willkommen %s, wir freuen uns dich wieder zu sehen.",GetName(playerid));
    if(getAdminLv(playerid) > 0)
    {
    fscm(string,playerid,Color_Server,"Info: Du hast dich erfolgreich eingeloggt und besitzt den Adminstatus %d",getAdminLv(playerid));
    return 1;
    }
    scm(playerid,Color_Server,"Du hast dich erfolgreich eingeloggt.");
    return 1;
    }
    else
    {
    ShowPlayerDialog(playerid,Dialog_Login_Passwort,DIALOG_STYLE_INPUT,"Login - Passwort","{FFFFFF}Bitte gebe dein {FF0000}richtiges {FFFFFF}ein.","Login","Abbrechen");
    return 1;
    }

    Auch dazu der Quellcode

    SQL
    [14:33:33] CMySQLHandler::Query(SELECT * FROM Account_Tab WHERE Username = 'NicoAiko') - Successfully executed.
    [14:33:33] >> mysql_store_result( Connection handle: 1 )
    [14:33:33] CMySQLHandler::StoreResult() - Result was stored.
    [14:33:33] >> mysql_fetch_row_format( Connection handle: 1 )
    [14:33:33] CMySQLHandler::FetchRow() - Return: 1|NicoAiko|Aptx4869|5|16|Deutschland|Männlich|Kein|FBI|8|0
    [14:33:33] >> mysql_fetch_row_format( Connection handle: 1 )
    [14:33:44] >> mysql_query( Connection handle: 1 )


    Vielen Dank für eure Hilfe

  • Es gibt die Funktion "ALTER" in MySQL, nun weiß er nicht, ob du die Funktion oder die Spalte aufrufen willst. Machs so:
    format(query,sizeof(query),"UPDATE Account_Tab SET `Alter` = '%d' WHERE Username = '%s'",getAlter(playerid),GetName(playerid)); mysql_query(query);