SA-MP Forums Archive
Mysql load/save - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Mysql load/save (/showthread.php?tid=405385)



Mysql load/save - ancezas - 06.01.2013

Sometimes script dosent save/loaf info from mysql data, but not every time, in server_log i seen nothing bad, in Mysql log same, nothging bad, Mysql is in FilterScripta

Saveing:

pawn Код:
stock MySQL_Save(playerid)

{

            new Query[ 512 ];

            mysql_reconnect();

         

            format( Query, sizeof( Query ),"UPDATE `"#MYSQL_TABLE"` SET pinigai = '%d', patirtis = '%d', admin = '%d', vip = '%d' WHERE vardas = '%s'",

            GetPlayerMoney( playerid ),

            GetPlayerScore( playerid ),

            zInfo[ playerid ][ Admin ],

            zInfo[ playerid ][ Vip ],

            GetPlayerNameEx( playerid ) );

         

            mysql_query(Query);

            mysql_free_result();

            return 1;

}
Loading:

pawn Код:
stock MySQL_Load(playerid)

{

        new

                fetch[ 16 ],

                Query[ 256 ];

        mysql_reconnect();

        format(Query, sizeof(Query), "SELECT * FROM `"#MYSQL_TABLE"` WHERE vardas = '%s'", GetPlayerNameEx(playerid));

        mysql_query(Query);

        mysql_store_result();

        mysql_retrieve_row();

        mysql_fetch_field_row( fetch, "pinigai" );              zInfo[ playerid ][ Pinigai ] = strval(fetch);        GivePlayerMoney(playerid, zInfo[playerid][Pinigai]);

        mysql_fetch_field_row( fetch, "patirtis" );              zInfo[ playerid ][ Patirtis ] = strval(fetch);      SetPlayerScore(playerid, zInfo[playerid][Patirtis]);

        mysql_fetch_field_row( fetch, "admin" );                  zInfo[ playerid ][ Admin ] = strval(fetch);

        mysql_fetch_field_row( fetch, "vip" );                  zInfo[ playerid ][ Vip ] = strval(fetch);

        mysql_free_result();

        printf( "Pakrautas ћaidėjas. [%s]", GetPlayerNameEx( playerid ) );

        return 1;

}
Sometimes xp, money is adding from noweahr, even it's nesesery.

pawn Код:
public OnPlayerDisconnect(playerid, reason)

{

    if( online[ playerid ] )

    {

        MySQL_Save( playerid );

    }

    return 1;

}
pawn Код:
public OnPlayerSpawn(playerid)

{

    if( from_login[ playerid ] )

    {

          MySQL_Load( playerid );

          from_login[ playerid ] = false;

        return 1;

    }

    return 1;

}
what i'm doing wrong? sorry for realy bad english


AW: Mysql load/save - IPrototypeI - 06.01.2013

why do you use mysql_reconnect(); try to remove this and use for your tablename and
column names backtricks this is very important because that there 're not complication with using table or column
who 're maybe reserved words from mysql


Re: AW: Mysql load/save - ancezas - 06.01.2013

Quote:
Originally Posted by IPrototypeI
Посмотреть сообщение
why do you use mysql_reconnect(); try to remove this and use for your tablename and
column names backtricks this is very important because that there 're not complication with using table or column
who 're maybe reserved words from mysql
pawn Код:
stock MySQL_Save(playerid)

{

            new Query[ 512 ];

            format( Query, sizeof( Query ),"UPDATE `minim` SET pinigai = '%d', patirtis = '%d', admin = '%d', vip = '%d' WHERE vardas = '%s'",

            GetPlayerMoney( playerid ),

            GetPlayerScore( playerid ),

            zInfo[ playerid ][ Admin ],

            zInfo[ playerid ][ Vip ],

            GetPlayerNameEx( playerid ) );

         

            mysql_query(Query);

            mysql_free_result();

            return 1;

}
like this? tryed, things going the same


Re: Mysql load/save - ancezas - 06.01.2013

bump


Re: Mysql load/save - ancezas - 06.01.2013

tryed
pawn Код:
stock MySQL_Load(playerid)
{
        new
                fetch[ 16 ],
                Query[ 256 ];

        format(Query, sizeof(Query), "SELECT * FROM `"#MYSQL_TABLE"` WHERE vardas = '%s'", GetPlayerNameEx(playerid));
        mysql_query(Query);
        mysql_store_result();
        while(mysql_fetch_row_format(Query,"|"))
        {
            mysql_fetch_field_row( fetch, "pinigai" );               zInfo[ playerid ][ Pinigai ] = strval(fetch);      GivePlayerMoney(playerid, zInfo[playerid][Pinigai]);
            mysql_fetch_field_row( fetch, "patirtis" );              zInfo[ playerid ][ Patirtis ] = strval(fetch);      SetPlayerScore(playerid, zInfo[playerid][Patirtis]);
            mysql_fetch_field_row( fetch, "admin" );                 zInfo[ playerid ][ Admin ] = strval(fetch);
            mysql_fetch_field_row( fetch, "vip" );                   zInfo[ playerid ][ Vip ] = strval(fetch);
        }
        mysql_free_result();

        printf( "Pakrautas ћaidėjas. [%s]", GetPlayerNameEx( playerid ) );

        return 1;
}
it's still the same