hlmod.hu
https://hlmod.hu/

MySQL Len mentés
https://hlmod.hu/viewtopic.php?f=29&t=24570
Oldal: 1 / 2

Szerző:  SZILARD [ 2016.04.08. 20:55 ]
Hozzászólás témája:  MySQL Len mentés

Hali!

Van egy mysql mentésem, és valaki írna egy példát hogy hogyan mentsek len-ben? Mert szeretnék sok mindent menteni. Előre is köszönöm!

  1. public plugin_cfg() {
  2.     new Query[512];
  3.     g_SqlTuple = SQL_MakeDbTuple(SQL_INFO[0],SQL_INFO[1],SQL_INFO[2],SQL_INFO[3])
  4.     formatex(Query, charsmax(Query), "CREATE TABLE IF NOT EXISTS `tabla_neve` (`SteamID` varchar(32) NOT NULL,`olesek` int(11) NOT NULL,`szint` int(11) NOT NULL,`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY)")
  5.     SQL_ThreadQuery(g_SqlTuple,"createTableThread", Query)
  6. }
  7. public createTableThread(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
  8.     if(FailState == TQUERY_CONNECT_FAILED)
  9.         set_fail_state("Nem tudtam csatlakozni az adatbazishoz.");
  10.     else if(FailState == TQUERY_QUERY_FAILED)
  11.         set_fail_state("Query Error");
  12.     if(Errcode)
  13.         log_amx("Hibat dobtam: %s",Error);
  14.    
  15. }
  16. public load(id) {
  17.     new Query[512], Data[1]
  18.     Data[0] = id
  19.     formatex(Query, charsmax(Query), "SELECT * FROM `tabla_neve` WHERE SteamID = ^"%s^";", steamid[id])
  20.     SQL_ThreadQuery(g_SqlTuple, "QuerySelectData", Query, Data, 1)
  21. }
  22. public QuerySelectData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
  23.     if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) {
  24.         log_amx("%s", Error)
  25.         return
  26.     }
  27.     else {
  28.         new id = Data[0];
  29.         if(SQL_NumRows(Query) > 0) {
  30.             Olesek[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "olesek"))
  31.             Szint[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "szint"))
  32.         }
  33.         else {
  34.             save(id)
  35.         }
  36.     }
  37. }
  38. public save(id) {
  39.     new text[512]
  40.     formatex(text, charsmax(text), "INSERT INTO `tabla_neve` (`SteamID`, `olesek`, `szint`) VALUES (^"%s^", ^"0^", ^"0^");", steamid[id])
  41.     SQL_ThreadQuery(g_SqlTuple, "QuerySetData", text)
  42. }
  43. public QuerySetData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
  44.     if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) {
  45.         log_amx("%s", Error)
  46.         return
  47.     }
  48. }
  49. public update(id) {
  50.     new text[512]
  51.     formatex(text, charsmax(text), "UPDATE `tabla_neve` SET olesek = ^"%i^", szint = ^"%i^" WHERE SteamID = ^"%s^";", Olesek[id], Szint[id], steamid[id])
  52.     SQL_ThreadQuery(g_SqlTuple, "QuerySetData", text)
  53. }
  54. public plugin_end() {
  55.     SQL_FreeHandle(g_SqlTuple)
  56. }

Szerző:  Pardon [ 2016.04.08. 21:00 ]
Hozzászólás témája:  Re: MySQL Len mentés

  1. new Len;
  2.  
  3. Len += formatex(Query[Len], charsmax(Query)-Len, "`Valami`")


http://hlmod.hu/viewtopic.php?f=9&t=24232&hilit=Sql

Egyebkent kereses menek ebbol is ki birod nezni. a kommentekben a valasz.

Szerző:  SZILARD [ 2016.04.09. 16:14 ]
Hozzászólás témája:  Re: MySQL Len mentés

Nem jó :(
  1. public update(id) {
  2.     new Query[2048]
  3.     new Len;
  4.    
  5.     Len += formatex(Query[Len], charsmax(Query), "UPDATE `tabla_neve`");
  6.     Len += formatex(Query[Len], charsmax(Query)-Len, "SET szint = ^"%i^",", Szint[id])
  7.     Len += formatex(Query[Len], charsmax(Query)-Len, "Nev = ^"%s^";", name)
  8.    
  9.     SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
  10. }

Szerző:  mforce [ 2016.04.09. 16:17 ]
Hozzászólás témája:  Re: MySQL Len mentés

WHERE?

Szerző:  SZILARD [ 2016.04.09. 16:38 ]
Hozzászólás témája:  Re: MySQL Len mentés

mforce írta:
WHERE?

Azt hova?

Szerző:  Pardon [ 2016.04.09. 16:54 ]
Hozzászólás témája:  Re: MySQL Len mentés

SZILARD írta:
mforce írta:
WHERE?

Azt hova?


  1. public update(id) {
  2.     new Query[2048]
  3.     new Len;
  4.    
  5.     Len += formatex(Query[Len], charsmax(Query), "UPDATE `tabla_neve`");
  6.     Len += formatex(Query[Len], charsmax(Query)-Len, "SET szint = ^"%i^",", Szint[id])
  7.     Len += formatex(Query[Len], charsmax(Query)-Len, "WHERE Nev = ^"%s^";", name)
  8.    
  9.     SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
  10. }

Szerző:  SZILARD [ 2016.04.09. 16:57 ]
Hozzászólás témája:  Re: MySQL Len mentés

Akkor se jó :D

Szerző:  mforce [ 2016.04.09. 17:06 ]
Hozzászólás témája:  Re: MySQL Len mentés

Esetleg szóközök, ahova kéne. Vessző kivétel ahova nem kéne. SQL struktúrának járjunk utána, majd aztán itt kérdezzünk. Le van írva az SQL tutoriálban is szerintem egyértelműen.

Szerző:  SZILARD [ 2016.04.09. 17:23 ]
Hozzászólás témája:  Re: MySQL Len mentés

  1. public plugin_cfg() {
  2.     new Query[512];
  3.     g_SqlTuple = SQL_MakeDbTuple(SQL_INFO[0],SQL_INFO[1],SQL_INFO[2],SQL_INFO[3])
  4.     formatex(Query, charsmax(Query), "CREATE TABLE IF NOT EXISTS `tabla_neve` (`Nev` varchar(32) NOT NULL,`szint` int(11) NOT NULL,`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY)")
  5.     SQL_ThreadQuery(g_SqlTuple,"createTableThread", Query)
  6. }
  7. public createTableThread(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
  8.     if(FailState == TQUERY_CONNECT_FAILED)
  9.         set_fail_state("Nem tudtam csatlakozni az adatbazishoz.");
  10.     else if(FailState == TQUERY_QUERY_FAILED)
  11.         set_fail_state("Query Error");
  12.     if(Errcode)
  13.         log_amx("Hibat dobtam: %s",Error);
  14.    
  15. }
  16. public load(id) {
  17.     new Query[512], Data[1]
  18.     Data[0] = id
  19.     formatex(Query, charsmax(Query), "SELECT * FROM `tabla_neve` WHERE Nev = ^"%s^";", name[id])
  20.     SQL_ThreadQuery(g_SqlTuple, "QuerySelectData", Query, Data, 1)
  21. }
  22. public QuerySelectData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
  23.     if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) {
  24.         log_amx("%s", Error)
  25.         return
  26.     }
  27.     else {
  28.         new id = Data[0];
  29.         if(SQL_NumRows(Query) > 0) {
  30.             Szint[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "szint"))
  31.         }
  32.         else {
  33.             save(id)
  34.         }
  35.     }
  36. }
  37. public save(id) {
  38.     new text[512]
  39.     formatex(text, charsmax(text), "INSERT INTO `tabla_neve` (`Nev`, `szint`) VALUES (^"%s^", ^"0^");", name[id])
  40.     SQL_ThreadQuery(g_SqlTuple, "QuerySetData", text)
  41. }
  42. public QuerySetData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
  43.     if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) {
  44.         log_amx("%s", Error)
  45.         return
  46.     }
  47. }
  48. public update(id) {
  49.     new Query[2048]
  50.     new Len;
  51.    
  52.     Len += formatex(Query[Len], charsmax(Query), "UPDATE `tabla_neve` ");
  53.     Len += formatex(Query[Len], charsmax(Query)-Len, "SET szint = ^"%i^",", Szint[id])
  54.     Len += formatex(Query[Len], charsmax(Query)-Len, "WHERE Nev = ^"%s^";", name)
  55.    
  56.     SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
  57. }
  58. public plugin_end() {
  59.     SQL_FreeHandle(g_SqlTuple)
  60. }
  61. public client_putinserver(id) {
  62.     if(!is_user_bot(id)) {
  63.         get_user_name(id, name[id], charsmax(name))
  64.         load(id)
  65.     }
  66. }
  67. public client_disconnect(id) {
  68.     if(!is_user_bot(id)) {
  69.         get_user_name(id, name[id], charsmax(name))
  70.         update(id)
  71.     }
  72. }

Szerző:  SZILARD [ 2016.04.09. 18:31 ]
Hozzászólás témája:  Re: MySQL Len mentés

Így is próbáltam
  1. public plugin_cfg() {
  2.     new Query[512];
  3.     g_SqlTuple = SQL_MakeDbTuple(SQL_INFO[0],SQL_INFO[1],SQL_INFO[2],SQL_INFO[3])
  4.     formatex(Query, charsmax(Query), "CREATE TABLE IF NOT EXISTS `tabla_neve` (`Nev` varchar(32) NOT NULL,`szint` int(11) NOT NULL,`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY)")
  5.     SQL_ThreadQuery(g_SqlTuple,"createTableThread", Query)
  6. }
  7. public createTableThread(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
  8.     if(FailState == TQUERY_CONNECT_FAILED)
  9.         set_fail_state("Nem tudtam csatlakozni az adatbazishoz.");
  10.     else if(FailState == TQUERY_QUERY_FAILED)
  11.         set_fail_state("Query Error");
  12.     if(Errcode)
  13.         log_amx("Hibat dobtam: %s",Error);
  14.    
  15. }
  16. public load(id) {
  17.     new Query[512], Data[1]
  18.     Data[0] = id
  19.     formatex(Query, charsmax(Query), "SELECT * FROM `tabla_neve` WHERE Nev = ^"%s^";", name[id])
  20.     SQL_ThreadQuery(g_SqlTuple, "QuerySelectData", Query, Data, 1)
  21. }
  22. public QuerySelectData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
  23.     if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) {
  24.         log_amx("%s", Error)
  25.         return
  26.     }
  27.     else {
  28.         new id = Data[0];
  29.         if(SQL_NumRows(Query) > 0) {
  30.             Szint[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "szint"))
  31.         }
  32.         else {
  33.             save(id)
  34.         }
  35.     }
  36. }
  37. public save(id) {
  38.     new Query[1024]
  39.     new Len;
  40.    
  41.     Len += formatex(Query[Len], charsmax(Query), "INSERT INTO `tabla_neve` ")
  42.     Len += formatex(Query[Len], charsmax(Query)-Len, "(`Nev`, `szint`) VALUES (^"%s^", ^"0^");", name[id])
  43.     SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query)
  44. }
  45. public QuerySetData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
  46.     if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) {
  47.         log_amx("%s", Error)
  48.         return
  49.     }
  50. }
  51. public update(id) {
  52.     new Query[1024]
  53.     new Len;
  54.    
  55.     Len += formatex(Query[Len], charsmax(Query), "INSERT INTO `tabla_neve` ")
  56.     Len += formatex(Query[Len], charsmax(Query)-Len, "(`Nev`, `szint`) VALUES (^"%s^", ^"0^");", name[id])
  57.     SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query)
  58. }

Oldal: 1 / 2 Minden időpont UTC+02:00 időzóna szerinti
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/