Mysql SavePlayer

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 Leute,


    ich hab das Problem, dass mein Speicher System per Mysql wieder mal nicht funktioniert. Das Lade System hingegen funktioniert reibungslos.

    Wenn ich mir jetzt Ingame 10.000$ Sette, steht auch im Server.log, dass ich mir so viel gesettet habe. Doch wenn ich unter phpMyAdmin nachgucke,

    wurde dies garnicht gespeichert. Wenn ich danach auf den Server joine, wird das Geld auch nicht geladen. Das Geld ist jetzt aber nur ein Beispiel, es funktioniert

    auch nicht bei den anderen Sachen.


    stock SavePlayer(playerid)
    {
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
    {
    new query[2048],sname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,sname,sizeof(sname));
    SInfo[playerid][pGeld] = GetPlayerMoney(playerid), SInfo[playerid][pLevel] = GetPlayerScore(playerid);
    format(query,sizeof(query),"UPDATE `spieler` SET `Admin`='%d',`Level` = '%d', `Geld` = '%d', `Leader` = '%d', `Member` = '%d', `Tutorial` = '%d', `Skin` = '%d', `Rank` = '%d', `Personalausweis` = '%d' WHERE `Name`='%s'",SInfo[playerid][pAdmin],SInfo[playerid][pLevel],SInfo[playerid][pGeld],SInfo[playerid][pLeader],SInfo[playerid][pMember],SInfo[playerid][pTutorial],SInfo[playerid][pSkin],SInfo[playerid][pRank],SInfo[playerid][pPerso],sname);
    mysql_query(query);
    printf("Die Speicherung für %s wurde aufgerufen!",sname),print(query);
    }
    return 1;
    }


    PS: Der printf wird abgerufen, deswegen wunder ich mich warum das nicht geht.

    Ich hoffe ihr könnt mir helfen.


    MfG


    Advanced

  • [18:01:07] >> mysql_connect(localhost, patrick, patrick, ******) on port 3306
    [18:01:07] CMySQLHandler::CMySQLHandler() - constructor called.
    [18:01:07] CMySQLHandler::CMySQLHandler() - Connecting to "localhost" | DB: "patrick" | Username: "patrick"
    [18:01:07] CMySQLHandler::Connect() - Connection was successful.
    [18:01:07] CMySQLHandler::Connect() - Auto-Reconnect has been enabled.
    [18:01:07] >> mysql_ping( Connection handle: 1 )
    [18:01:07] CMySQLHandler::Ping() - Connection is still alive.
    [18:01:07]
    [18:01:07] ** MySQL Debugging enabled (09/07/14)
    [18:01:07]
    [18:01:56] >> mysql_query_callback( Connection handle: 1 )
    [18:01:56] Passing query SELECT id FROM spieler WHERE Name='[AL]Contrail' | i
    [18:01:56] ProcessQueryThread(OnUserCheck) - Query was successful. (SELECT id FROM spieler WHERE Name='[AL]Contrail')
    [18:01:56] ProcessQueryThread(OnUserCheck) - Data caching enabled.
    [18:01:56] CMySQLHandler::StoreResult() - Result was stored.
    [18:01:56] CMySQLHandler::FreeResult() - Result was successfully free'd.
    [18:01:56] CMySQLHandler::ProcessQueryThread() - Data is getting passed to ->ProcessTick()
    [18:01:56] OnUserCheck(i) - Threaded function called.
    [18:01:56] >> cache_get_data( Connection handle: 1 )
    [18:01:56] ProcessTick() - The cache has been cleared.
    [18:02:00] >> mysql_real_escape_string( Connection handle: 1 )
    [18:02:00] CMySQLHandler::EscapeString(Playboy8962); - Escaped 11 characters to Playboy8962.
    [18:02:00] >> mysql_query_callback( Connection handle: 1 )
    [18:02:00] Passing query SELECT * FROM spieler WHERE Name='[AL]Contrail' AND Passwort='Playboy8962' | i
    [18:02:00] ProcessQueryThread(OnPasswordResponse) - Query was successful. (SELECT * FROM spieler WHERE Name='[AL]Contrail' AND Passwort='Playboy8962')
    [18:02:00] ProcessQueryThread(OnPasswordResponse) - Data caching enabled.
    [18:02:00] CMySQLHandler::StoreResult() - Result was stored.
    [18:02:00] CMySQLHandler::FreeResult() - Result was successfully free'd.
    [18:02:00] CMySQLHandler::ProcessQueryThread() - Data is getting passed to ->ProcessTick()
    [18:02:00] OnPasswordResponse(i) - Threaded function called.
    [18:02:00] >> cache_get_data( Connection handle: 1 )
    [18:02:00] >> mysql_query_callback( Connection handle: 1 )
    [18:02:00] >> mysql_store_result( Connection handle: 1 )
    [18:02:00] CMySQLHandler::StoreResult() - No data to store.
    [18:02:00] >> mysql_retrieve_row( Connection handle: 1 )
    [18:02:00] CMySQLHandler::RetrieveRow() - You cannot call this function now. (Reason: Empty Result)
    [18:02:00] >> mysql_free_result( Connection handle: 1 )
    [18:02:00] CMySQLHandler::FreeResult() - The result is already empty.
    [18:02:00] ProcessTick() - The cache has been cleared.
    [18:02:00] Passing query SELECT * FROM `spieler` WHERE `Name`='[AL]Contrail' |
    [18:02:00] ProcessQueryThread() - Query was successful. (SELECT * FROM `spieler` WHERE `Name`='[AL]Contrail')
    [18:02:00] CMySQLHandler::ProcessQueryThread() - Data is getting passed to ->ProcessTick()
    [18:02:07] >> mysql_query_callback( Connection handle: 1 )
    [18:02:07] CMySQLHandler::ProcessQueryThread() - Reconnection attempt in background thread.
    [18:02:07] CMySQLHandler::Connect() - Connection was successful.
    [18:02:07] CMySQLHandler::Connect() - Auto-Reconnect has been enabled.
    [18:02:07] Passing query UPDATE `spieler` SET `Admin`='0',`Level` = '0', `Geld` = '0', `Leader` = '0', `Member` = '0' WHERE `Name`='[AL]Contrail' |
    [18:02:07] ProcessQueryThread() - Query was successful. (UPDATE `spieler` SET `Admin`='0',`Level` = '0', `Geld` = '0', `Leader` = '0', `Member` = '0' WHERE `Name`='[AL]Contrail')
    [18:02:07] CMySQLHandler::ProcessQueryThread() - Data is getting passed to ->ProcessTick()



    Da steht 18 Uhr aber ich habs heute schon getestet deswegen bin ich verwirrt.

  • SQL
    UPDATE `spieler` SET `Admin`='0',`Level` = '0', `Geld` = '0', `Leader` = '0', `Member` = '0' WHERE `Name`='[AL]Contrail' | 
    [18:02:07] ProcessQueryThread() - Query was successful. (UPDATE `spieler` SET `Admin`='0',`Level` = '0', `Geld` = '0', `Leader` = '0', `Member` = '0' WHERE `Name`='[AL]Contrail'


    Anscheinend stimmen deine Variablen nicht. Dort ist alles auf 0


    Bei Integers brauchst du keine ' '

    SQL
    UPDATE `spieler` SET `Admin`=%d,`Level` = %d, `Geld` = %d ,...