Account Daten werden falsch gespeichert

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 zusammen


    Ich steh vor einen Großen Problem


    Bei mir werden immer wieder die Accounts falsch gespeichert
    Er setzt dan irgendwelche werte auf 1000 oder so in der richtung und ich versteh nicht wiso
    Ich habe das ganze we daran verbracht und das gesammte login system umgeschrieben das auch auf mein Testserver 1A lief
    nur jetzt buggt wieder alles rum
    hier mal der Code
    public SavePlayer(playerid)
    {
    new Name[MAX_PLAYER_NAME],query[500];
    GetPlayerName(playerid,Name,MAX_PLAYER_NAME);
    format(query, 500, "UPDATE `player` SET `Adminlevel` = '%d', `Geld` = '%d', `Skin` = '%d', `Leader` = '%d', `Member` = '%d', `Auto` = '%d', `LKW` = '%d', `Bike` = '%d', `Fly` = '%d' WHERE `Name` = '%s'",
    PI[playerid][pAdmin],GetPlayerMoney(playerid),PI[playerid][pSkin],PI[playerid][pLeader],PI[playerid][pMember],PI[playerid][pCar],PI[playerid][pLKW],PI[playerid][pBike],PI[playerid][pFly],Name);
    mysql_query(query);
    format(query, 500, "UPDATE `player` SET `Gebannt` = '%d', `Tutorial` = '%d', `Rank` = '%d', `PayDay` = '%d', `PayDayTog` = '%d', `Level` = '%d', `Respekt` = '%d', `Job` = '%d', `Lotto` = '%d' WHERE `Name` = '%s'",
    PI[playerid][pGebannt],PI[playerid][pTutorial],PI[playerid][pRank],PI[playerid][pPayDay],PI[playerid][pPayDayTog],PI[playerid][pLevel],PI[playerid][pRespekt],PI[playerid][pJob],PI[playerid][pLotto],Name);
    mysql_query(query);
    format(query, 500, "UPDATE `player` SET `Banner` = '%s', `BanGrund` = '%s', `Wanted` = '%d', `Handy` = '%d', `Jail` = '%d', `Konto` = '%d', `Pin` = '%d', `Bank` = '%d' WHERE `Name` = '%s'",
    PI[playerid][pBanner],PI[playerid][pBanGrund],GetPlayerWantedLevel(playerid),PI[playerid][pHandy],PI[playerid][pJail],PI[playerid][pKonto],PI[playerid][pPin],PI[playerid][pBank],Name);
    mysql_query(query);
    return 1;
    }
    Desweiteren Schmiert ständig das MySQL plugin ab und der Grund ist unbekannt
    Verwenden tu ich das von blue-G


    Ich brauche dringend hilfe, denn ich bin überfragt und finde keine lösung mehr


    //edit
    Hier der Aufbau der Tabelle
    format(query,2048,"CREATE TABLE IF NOT EXISTS `player` (`id` int(11) AUTO_INCREMENT, `Name` varchar(128), `Passwort` varchar(128), `Adminlevel` int(11), `Geld` int(11), `Skin` int(11), `Leader` int(11),");
    format(query,2048,"%s `Member` int(11), `Auto` int(11), `LKW` int(11), `Bike` int(11), `Fly` int(11), `Gebannt` int(11), `Banner` varchar(128), `BanGrund` varchar(128), `Tutorial` int(11), `Rank` int(11), `PayDay` int(11),",query);
    format(query,2048,"%s `PayDayTog` int(11), `Level` int(11), `Respekt` int(11), `Job` int(11), `Lotto` int(11), `Wanted` int(11), `Handy` int(11), `Jail` int(11), `Konto` int(11), `Pin` int(11), `Bank` int(11), PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;",query);
    Debug habe ich nicht da der auf linux nicht geht
    bei Windows ist sonst alles ok

    All in all it's just another brick in the wall

    Einmal editiert, zuletzt von Beavis ()

  • Poste mal mehr von der Tabelle, wieso einen Array von 2048 ? Viel zu groß :D


    Ich verwende den Query auch für größere sachen und was soll ich dir da noch posten?
    hab das auch mal so aber da kommt das selbe bei raus


    public SavePlayer(playerid)
    {
    new Name[MAX_PLAYER_NAME],query[1500];
    GetPlayerName(playerid,Name,MAX_PLAYER_NAME);
    format(query, 1500, "UPDATE `player` SET `Adminlevel` = '%d', `Geld` = '%d', `Skin` = '%d', `Leader` = '%d', `Member` = '%d', `Auto` = '%d', `LKW` = '%d', `Bike` = '%d', `Fly` = '%d',"
    ,PI[playerid][pAdmin],GetPlayerMoney(playerid),PI[playerid][pSkin],PI[playerid][pLeader],PI[playerid][pMember],PI[playerid][pCar],PI[playerid][pLKW],PI[playerid][pBike],PI[playerid][pFly]);
    format(query, 1500, "%s `Gebannt` = '%d', `Tutorial` = '%d', `Rank` = '%d', `PayDay` = '%d', `PayDayTog` = '%d', `Level` = '%d', `Respekt` = '%d', `Job` = '%d', `Lotto` = '%d',",query,
    PI[playerid][pGebannt],PI[playerid][pTutorial],PI[playerid][pRank],PI[playerid][pPayDay],PI[playerid][pPayDayTog],PI[playerid][pLevel],PI[playerid][pRespekt],PI[playerid][pJob],PI[playerid][pLotto]);
    format(query, 1500, "%s `Banner` = '%s', `BanGrund` = '%s', `Wanted` = '%d', `Handy` = '%d', `Jail` = '%d', `Konto` = '%d', `Pin` = '%d', `Bank` = '%d' WHERE `Name` = '%s'",
    query,PI[playerid][pBanner],PI[playerid][pBanGrund],GetPlayerWantedLevel(playerid),PI[playerid][pHandy],PI[playerid][pJail],PI[playerid][pKonto],PI[playerid][pPin],PI[playerid][pBank],Name);
    mysql_query(query);
    return 1;
    }

    All in all it's just another brick in the wall

  • Und wo ist das Problem?
    das ich 3 formats in 1 Query stecke?
    ist besser als 3 zu nutzen
    schau ma den debug an
    CMySQLHandler::Query(UPDATE `player` SET `Adminlevel` = '5', `Geld` = '0', `Skin` = '0', `Leader` = '0', `Member` = '0', `Auto` = '1', `LKW` = '1', `Bike` = '0', `Fly` = '0', `Gebannt` = '0', `Tutorial` = '0', `Rank` = '0', `PayDay` = '0', `PayDayTog` = '0', `Level` = '0', `Respekt` = '0', `Job` = '0', `Lotto` = '0', `Banner` = '', `BanGrund` = '', `Wanted` = '0', `Handy` = '0', `Jail` = '0', `Konto` = '0', `Pin` = '0', `Bank` = '0' WHERE `Name` = 'Tina_Turner') - Successfully executed.


    Der adminlevel darf da egendlich nicht als 5 stehen sondern eig als 0

    All in all it's just another brick in the wall

  • public SavePlayer(playerid)
    {
    new Name[MAX_PLAYER_NAME],query[1500];
    GetPlayerName(playerid,Name,MAX_PLAYER_NAME);
    format(query, 1500, "UPDATE `player` SET `Adminlevel` = '%d', `Geld` = '%d', `Skin` = '%d', `Leader` = '%d', `Member` = '%d', `Auto` = '%d', `LKW` = '%d', `Bike` = '%d', `Fly` = '%d',"
    ,PI[playerid][pAdmin],GetPlayerMoney(playerid),PI[playerid][pSkin],PI[playerid][pLeader],PI[playerid][pMember],PI[playerid][pCar],PI[playerid][pLKW],PI[playerid][pBike],PI[playerid][pFly]);
    format(query, 1500, "%s `Gebannt` = '%d', `Tutorial` = '%d', `Rank` = '%d', `PayDay` = '%d', `PayDayTog` = '%d', `Level` = '%d', `Respekt` = '%d', `Job` = '%d', `Lotto` = '%d',",query,
    PI[playerid][pGebannt],PI[playerid][pTutorial],PI[playerid][pRank],PI[playerid][pPayDay],PI[playerid][pPayDayTog],PI[playerid][pLevel],PI[playerid][pRespekt],PI[playerid][pJob],PI[playerid][pLotto]);
    format(query, 1500, "%s `Banner` = '%s', `BanGrund` = '%s', `Wanted` = '%d', `Handy` = '%d', `Jail` = '%d', `Konto` = '%d', `Pin` = '%d', `Bank` = '%d' WHERE `Name` = '%s'",
    query,PI[playerid][pBanner],PI[playerid][pBanGrund],GetPlayerWantedLevel(playerid),PI[playerid][pHandy],PI[playerid][pJail],PI[playerid][pKonto],PI[playerid][pPin],PI[playerid][pBank],Name);
    mysql_query(query);
    return 1;
    }


    aus das


    format(query, 1500, "UPDATE `player` SET `Adminlevel` = '%d', `Geld` = '%d', `Skin` = '%d', `Leader` = '%d', `Member` = '%d', `Auto` = '%d', `LKW` = '%d', `Bike` = '%d', `Fly` = '%d',"
    ,PI[playerid][pAdmin],GetPlayerMoney(playerid),PI[playerid][pSkin],PI[playerid][pLeader],PI[playerid][pMember],PI[playerid][pCar],PI[playerid][pLKW],PI[playerid][pBike],PI[playerid][pFly]);
    wird das


    ,PI[playerid][pAdmin],GetPlayerMoney(playerid),PI[playerid][pSkin],PI[playerid][pLeader],PI[playerid][pMember],PI[playerid][pCar],PI[playerid][pLKW],PI[playerid][pBike],PI[playerid][pFly]);
    format(query, 1500, "%s `Gebannt` = '%d', `Tutorial` = '%d', `Rank` = '%d', `PayDay` = '%d', `PayDayTog` = '%d', `Level` = '%d', `Respekt` = '%d', `Job` = '%d', `Lotto` = '%d',",query,


    daraus wird das

    format(query, 1500, "%s `Banner` = '%s', `BanGrund` = '%s', `Wanted` = '%d', `Handy` = '%d', `Jail` = '%d', `Konto` = '%d', `Pin` = '%d', `Bank` = '%d' WHERE `Name` = '%s'",
    query,PI[playerid][pBanner],PI[playerid][pBanGrund],GetPlayerWantedLevel(playerid),PI[playerid][pHandy],PI[playerid][pJail],PI[playerid][pKonto],PI[playerid][pPin],PI[playerid][pBank],Name);


    und das Sendest du an den Server


    mysql_query(query);

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • wisst ihr was ich printe es einfach mal dann wird ihr sehen das es richtig ist


    hier der Print
    [23:51:53] UPDATE `player` SET `Adminlevel` = '5', `Geld` = '0', `Skin` = '0', `Leader` = '0', `Member` = '0', `Auto` = '1', `LKW` = '1', `Bike` = '0', `Fly` = '0', `Gebannt` = '0', `Tutorial` = '0', `Rank` = '0', `PayDay` = '0', `PayDayTog` = '0', `Level` = '0', `Respekt` = '0', `Job` = '0', `Lotto` = '0', `Banner` = '', `BanGrund` = '', `Wanted` = '0', `Handy` = '0', `Jail` = '0', `Konto` = '0', `Pin` = '0', `Bank` = '0' WHERE `Name` = 'Tina_Turner'
    hier der debug
    [23:51:53] CMySQLHandler::Query(UPDATE `player` SET `Adminlevel` = '5', `Geld` = '0', `Skin` = '0', `Leader` = '0', `Member` = '0', `Auto` = '1', `LKW` = '1', `Bike` = '0', `Fly` = '0', `Gebannt` = '0', `Tutorial` = '0', `Rank` = '0', `PayDay` = '0', `PayDayTog` = '0', `Level` = '0', `Respekt` = '0', `Job` = '0', `Lotto` = '0', `Banner` = '', `BanGrund` = '', `Wanted` = '0', `Handy` = '0', `Jail` = '0', `Konto` = '0', `Pin` = '0', `Bank` = '0' WHERE `Name` = 'Tina_Turner') - Successfully executed.


    was fällt euch auf?

    All in all it's just another brick in the wall

  • So jetzt habe ich es wieder hinbekommen das das Plugin abschmiert
    [00:19:52] CMySQLHandler::Query(UPDATE `player` SET `Adminlevel` = '5', `Geld` = '2158890', `Skin` = '181', `Leader` = '4', `Member` = '4', `Auto` = '1', `LKW` = '1', `Bike` = '1', `Fly` = '1', `Gebannt` = '0', `Tutorial` = '1', `Rank` = '10', `PayDay` = '20', `PayDayTog` = '1', `Level` = '0', `Respekt` = '0', `Job` = '0', `Lotto` = '0', `Banner` = '', `BanGrund` = '', `Wanted` = '0', `Handy` = '0', `Jail` = '0', `Konto` = '0', `Pin` = '0', `Bank` = '0' WHERE `Name` = 'Garry') - An error has occured. (Error ID: 2006, MySQL server has gone away)
    Laden etc hat er alles sauber das Speichern scheint auch so aber der verliert die verbindung

    All in all it's just another brick in the wall

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