Szerző Téma: MySQL és enum  (Megtekintve 679 alkalommal)

MySQL és enum
« Dátum: 2013. április 23. - 23:02:20 »
0 Show voters
Sziasztok!
Szeretnek segitseget kerni toletek a kovetkezovel kapcsolatban:
letrehoztam egy enumeraciot a scriptemben(sajna most nemtom bemasolni)
szeretnem ha ezek az enumeraciok(amugy playerinfo) mysql oszlopokbol toltodnenek be. Pl. pInfo[playerid][pScore] az en users tablazatom scores oszlopanak ertekei legyenek. Es ugyanugy mentve is lennenek. Neztem par ilyen meoldast de nem igen igazodtam ki bennuk ugyanis nagyon kezdo mysql-es vagyok(tutorokat folyamatosan olvasom), szoval kulon koszonet jarna erte ha kommentelve oda lenne irva, hogy eppen mit is csinal a kod.
Koszonom szepen elore is!

MySQL és enum
« Válasz #1 Dátum: 2013. április 24. - 10:44:23 »
0 Show voters

MySQL és enum
« Válasz #2 Dátum: 2013. április 24. - 16:23:16 »
0 Show voters
Kösz de sajnos ebben nincsen szó arról hogy hogyan is használhatom az enumoknál. Ha valaki tudna többet, esetleg példascriptet azt megköszönném!

MySQL és enum
« Válasz #3 Dátum: 2013. április 24. - 21:12:45 »
0 Show voters
ugyan úgy, mint sima változóknál, vagy PVarnál..

MySQL és enum
« Válasz #4 Dátum: 2013. április 24. - 21:45:25 »
0 Show voters
Csinálgattam ezt-azt, de nem sikerül  :confused:
 
stock TeamLoadSQL(playerid)
{
new query[128], datastr[128];
    format(query, sizeof(query), \"SELECT * FROM `teams` WHERE `teamid` = \'%d\'\", UserInfo[playerid][uTeamID]); //a játékos class választás után kap egy uTeamID-t, ami 1 vagy 2 és ez alapján lenne meg a csapat adatai
mysql_function_query(1, query, false, \"OnQueryFinish\", \"\");
    mysql_store_result();
    while(mysql_fetch_row_format(query,\"|\"))
{
         mysql_fetch_field_row(datastr,\"teampoints\"); TeamInfo[playerid][tPoints] = strval(datastr); //a csapat pontját itt kéne beállítania 10-re(mysql táblázatba ez van megadva mindkét csapatnál)
}
    mysql_free_result();
    return 1;
}

 
létrehoztam egy parancsot, ahol kiíratom a teaminfo[playerid][tPoints] értékét, de 0-át ad be(holott mysql-ben 10-re van állítva).
továbbra is köszönöm a segítséget és bocs, hogy ekkora noob vagyok mysql téren..
Edit: megnéztem a mysql logot és ezt írta:
 
[21:56:24] >> mysql_query_callback(Connection handle: 1)
[21:56:24] >> mysql_store_result(Connection handle: 1)
[21:56:24] CMySQLHandler::StoreResult() - No data to store.
[21:56:24] >> mysql_fetch_row_format(Connection handle: 1)
[21:56:24] CMySQLHandler::FetchRow() - You cannot call this function now (no result). // ezt nem tudom mit jelent, lehetséges, hogy itt rossz valami?  :hmmm:
[21:56:24] >> mysql_free_result(Connection handle: 1)
[21:56:24] CMySQLHandler::FreeResult() - The result is already empty.
[21:56:24] ProcessQueryThread(OnQueryFinish) - Executing query SELECT * FROM `teams` WHERE `teamid` = \'1\'... // szóval a teamid-t rendesen meghatároztam, de valamiért a tPoints értékét nem állítja át
[21:56:24] ProcessQueryThread(OnQueryFinish) - Query was successful.
[21:56:24] ProcessQueryThread(OnQueryFinish) - Data being passed to ProcessTick().

 

Dupla hozzászólás automatikusan összefûzve. ( 2013. április 24. - 22:56:54 )

Okkkké szóval sikerült végülis megoldanom :O !!!
Mivel nem vagyok tisztában a Threading dologgal, letöltöttem a mysql plugin R6 verzióját, átírtam a dolgokat és most betölti a pontszámokat. A fenti kódot használtam.
Ha esetleg valaki tudja, hogy hogyan lehetne ezt az újabb MySQL pluginokkal kivitelezni megköszönném ha leírná.
« Utoljára szerkesztve: 2013. április 24. - 22:56:54 írta dipsnark »

MySQL és enum
« Válasz #5 Dátum: 2013. április 25. - 06:11:56 »
0 Show voters
pedig elméletileg jónak kéne lennie.. mármint így alap MySQL tudásom alapján nem látok benne hibát.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal