Page 3 of 3

Re: Klausimėlis tam, kuris apie tai ką nors žino...

Posted: 2011 Jul 24 12:43
by psychical
kropto wrote:Tai kad tu pats i savo klausima atsakiai.

As nemanau kad tu toks, cia tu taip manai apie save.
Gerai, nebandysiu aš čia dabar tau lipt per galva ir vaidint PRO kadangi toks nesu ir niekados nebūsiu ;) Praeitu postu pasakiau tai, kad tu tiesiog neįsiskaitei į mano užpraeitą postą.

P.S. Tiems kas žino:

tai mano MYSQLx_Init ir SaveLevel turėtų atrodyti taip:

Code: Select all

public MySQLx_Init(){    if ( !get_pcvar_num(p_Enabled) || !get_pcvar_num(save_type) )        return;        new szHost[64], szUser[32], szPass[32], szDB[128];        get_pcvar_string( mysqlx_host, szHost, charsmax( szHost ) );    get_pcvar_string( mysqlx_user, szUser, charsmax( szUser ) );    get_pcvar_string( mysqlx_pass, szPass, charsmax( szPass ) );    get_pcvar_string( mysqlx_db, szDB, charsmax( szDB ) );        g_hTuple = SQL_MakeDbTuple( szHost, szUser, szPass, szDB );        new Error[512], ErrorCode    SqlConnection = SQL_Connect(g_hTuple, ErrorCode, Error, charsmax(Error))        if(SqlConnection == Empty_Handle)        log_amx(Error)        for ( new i = 0; i < sizeof szTables; i++ )    {        SQL_ThreadQuery( g_hTuple, "QueryCreateTable", szTables[i])    }}

Code: Select all

SaveLevel(id){     if ( get_pcvar_num(savexp) )    {        if ( !get_pcvar_num(save_type) )        {            new szData[256];            new szKey[64];                        formatex( szKey , 63 , "%s-ID" , g_szAuthID[id]);            formatex( szData , 255 , "%i#%i#%i#" , PlayerLevel[id], PlayerXp[id], PlayerPrestige[id]);                    nvault_set( g_Vault , szKey , szData );        }        else        {            new Handle:Query = SQL_PrepareQuery(SqlConnection,"SELECT * FROM `mytable` WHERE `player_id` = '%s'", g_szAuthID[id]);                        new total_rows            if(SQL_Execute(Query))                total_rows = SQL_NumResults(Query);                            if(total_rows)            {                static szQuery[ 128 ];                 formatex( szQuery, 127, "UPDATE `mytable` SET `player_level` = '%d', `player_xp` = '%d', `player_prestige` = '%d' WHERE `player_id` = '%s';", PlayerLevel[id], PlayerXp[id], PlayerPrestige[id], g_szAuthID[id]);                SQL_ThreadQuery( g_hTuple, "QuerySetData", szQuery);            }            else            {                static szQuery[ 128 ];                 formatex( szQuery, 127, "INSERT INTO `mytable` VALUES '%s', '%d', '%d', '%d';", g_szAuthID[id], PlayerLevel[id], PlayerXp[id], PlayerPrestige[id]);                SQL_ThreadQuery( g_hTuple, "QuerySetData", szQuery);            }        }    }    else    {        if ( !get_pcvar_num(save_type) )        {            new szData[256];            new szKey[64];                        formatex( szKey , 63 , "%s-IP" , g_szAuthIP[id] );            formatex( szData , 255 , "%i#%i#%i#" , PlayerLevel[id], PlayerXp[id], PlayerPrestige[id]);                    nvault_set( g_Vault , szKey , szData );        }        else        {            new Handle:Query = SQL_PrepareQuery(SqlConnection,"SELECT * FROM `mytable` WHERE `player_id` = '%s'", g_szAuthIP[id]);                        new total_rows            if(SQL_Execute(Query))                total_rows = SQL_NumResults(Query);                            if(total_rows)            {                static szQuery[ 128 ];                 formatex( szQuery, 127, "UPDATE `mytable` SET `player_level` = '%d', `player_xp` = '%d', `player_prestige` = %d WHERE `player_id` = '%s';", PlayerLevel[id], PlayerXp[id], PlayerPrestige[id], g_szAuthIP[id]);                SQL_ThreadQuery( g_hTuple, "QuerySetData", szQuery);            }            else            {                static szQuery[ 128 ];                 formatex( szQuery, 127, "INSERT INTO `mytable` VALUES '%s', '%d', '%d', %d;", g_szAuthIP[id], PlayerLevel[id], PlayerXp[id], PlayerPrestige[id]);                SQL_ThreadQuery( g_hTuple, "QuerySetData", szQuery);            }        }    }}
?

Jei yra klaidų, būtų ne pro šal jas žinoti :/

Re: Klausimėlis tam, kuris apie tai ką nors žino...

Posted: 2011 Jul 24 13:17
by aurimasko

Code: Select all

 INSERT INTO `mytable` (`player_level`, `player_xp`, `player_prestige`, `player_id`) VALUES ('%d', '%d', '%d', '%s')", PlayerLevel[id], PlayerXp[id], PlayerPrestige[id], g_szAuthID[id]) 
kažkas panašaus..

Beto nežinau ar reikia, bet:

Code: Select all

 if(total_rows > 0) 

Re: Klausimėlis tam, kuris apie tai ką nors žino...

Posted: 2011 Jul 24 13:36
by psychical
Pirmasis tavo INSERT yra bet kurios kalbos variantas tuo atveju, jeigu tu bent 1 dalyką nori praleisti T.Y. Lentele: vardas, pavarde, amzius, PVZ.: tu nori irasyti tik vardas, amzius, taip, naudojam tavo su (), o jei nori irasyti vardas,pavarde,amzius gali naudoti ir be (), tiesgio rasydamas values ir viskas.

Antrasis pastebėjimas geras, tačiau pas mane total_rows kas bebūtų bus tik 1 arba 0, todėl jokio skirtumo, rašant į if'a tik kintamajį jis pasirinks visus skaičius išskyrus 0. T.Y. Pasiims: 1, -1, 2, -2. Neims 0, jei parasysi "total_rows > 0" jis ims tik sveikus skaičius.