hlmod.hu
https://hlmod.hu/

MySQL - Mentés hiba (ismét)
https://hlmod.hu/viewtopic.php?f=9&t=28077
Oldal: 1 / 1

Szerző:  koko.988 [ 2017.08.09. 05:33 ]
Hozzászólás témája:  MySQL - Mentés hiba (ismét)

Üdv!
Pár nappal ezelőtt már kértem segítséget mysql terén, de most ismét szórakozik velem.
Nem ment semmit sem.
Aki ért hozzá, vessen már rá egy pillantást.

  1. public plugin_cfg()
  2. {
  3.     g_SqlTuple = SQL_MakeDbTuple(SQLINFO[0], SQLINFO[1], SQLINFO[2], SQLINFO[3]);
  4.    
  5.     static Query[10048];
  6.     new Len;
  7.    
  8.     Len += formatex(Query[Len], charsmax(Query), "CREATE TABLE IF NOT EXISTS `onlyd2_new`");
  9.     Len += formatex(Query[Len], charsmax(Query)-Len, "(`Nev` varchar(32) NOT NULL, ");
  10.     Len += formatex(Query[Len], charsmax(Query)-Len, "`Felhasznalonev` varchar(32) NOT NULL,");
  11.     Len += formatex(Query[Len], charsmax(Query)-Len, "`Jelszo` varchar(32) NOT NULL,");
  12.     Len += formatex(Query[Len], charsmax(Query)-Len, "`Regisztralt` int(11) NOT NULL,");
  13.     Len += formatex(Query[Len], charsmax(Query)-Len, "`Dollars` int(11) NOT NULL,");
  14.     Len += formatex(Query[Len], charsmax(Query)-Len, "`PP` int(11) NOT NULL,");
  15.     Len += formatex(Query[Len], charsmax(Query)-Len, "`Szint` int(11) NOT NULL,");
  16.     Len += formatex(Query[Len], charsmax(Query)-Len, "`Oles` int(11) NOT NULL,");
  17.     Len += formatex(Query[Len], charsmax(Query)-Len, "`Osszesoles` int(11) NOT NULL,");
  18.     Len += formatex(Query[Len], charsmax(Query)-Len, "`Ak47` int(11) NOT NULL,");
  19.     Len += formatex(Query[Len], charsmax(Query)-Len, "`M4A1` int(11) NOT NULL,");
  20.     Len += formatex(Query[Len], charsmax(Query)-Len, "`AWP` int(11) NOT NULL,");
  21.     Len += formatex(Query[Len], charsmax(Query)-Len, "`Famas` int(11) NOT NULL,");
  22.     Len += formatex(Query[Len], charsmax(Query)-Len, "`P90` int(11) NOT NULL,");
  23.     Len += formatex(Query[Len], charsmax(Query)-Len, "`Scout` int(11) NOT NULL,");
  24.     Len += formatex(Query[Len], charsmax(Query)-Len, "`Deagle` int(11) NOT NULL,");
  25.     Len += formatex(Query[Len], charsmax(Query)-Len, "`USP` int(11) NOT NULL,");
  26.     Len += formatex(Query[Len], charsmax(Query)-Len, "`Glock18` int(11) NOT NULL,");
  27.     Len += formatex(Query[Len], charsmax(Query)-Len, "`Knife` int(11) NOT NULL,");
  28.     Len += formatex(Query[Len], charsmax(Query)-Len, "`C4` int(11) NOT NULL,");
  29.     Len += formatex(Query[Len], charsmax(Query)-Len, "`Jatszottido` int(11) NOT NULL,");
  30.    
  31.     for(new i;i < FEGYO; i++)
  32.         Len += formatex(Query[Len], charsmax(Query)-Len, "`F_%d` int(11) NOT NULL,", i);
  33.        
  34.     for(new i;i < LADA; i++)
  35.         Len += formatex(Query[Len], charsmax(Query)-Len, "`L_%d` int(11) NOT NULL,", i);
  36.        
  37.     for(new i;i < KULCS; i++)
  38.         Len += formatex(Query[Len], charsmax(Query)-Len, "`K_%d` int(11) NOT NULL,", i);
  39.        
  40.     for(new i;i < 10; i++)
  41.         Len += formatex(Query[Len], charsmax(Query)-Len, "`Skin%d` int(11) NOT NULL,", i);
  42.        
  43.     Len += formatex(Query[Len], charsmax(Query)-Len, "`Granat` varchar(32) NOT NULL, `id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY)");
  44.    
  45.     SQL_ThreadQuery(g_SqlTuple, "createTableThread", Query);
  46. }
  47. public Load(id)
  48. {
  49.     static Query[10048];
  50.     new Data[1];
  51.     Data[0] = id;
  52.  
  53.     formatex(Query, charsmax(Query), "SELECT * FROM `onlyd2_new` WHERE Nev = ^"%s^";", name[id]);
  54.     SQL_ThreadQuery(g_SqlTuple, "QuerySelectData", Query, Data, 1);
  55. }
  56. public QuerySelectData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime)
  57. {
  58.     if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
  59.     {
  60.         log_amx("%s", Error);
  61.         return;
  62.     }
  63.     else
  64.     {
  65.         new id = Data[0];
  66.  
  67.         if(SQL_NumRows(Query) > 0)
  68.         {
  69.             SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Felhasznalonev"), regFh[id], charsmax(regFh[]));
  70.             SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Jelszo"), regJelszo[id], charsmax(regJelszo[]));
  71.             Regisztralt[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Regisztralt"));
  72.             Rang[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Szint"));
  73.             Dollar[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Dollars"));
  74.             Oles[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Oles"));
  75.             SMS[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "PP"));
  76.             osszesoles[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Osszesoles"));
  77.             ak47[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Ak47"));
  78.             m4a1[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "M4A1"));
  79.             awp[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "AWP"));
  80.             famas[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Famas"));
  81.             p90[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "P90"));
  82.             scout[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Scout"));
  83.             deagle[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Deagle"));
  84.             usp[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "USP"));
  85.             glock18[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Glock18"));
  86.             knife[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Knife"));
  87.             c4[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "C4"));
  88.             osszes_jatszott[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Jatszottido"));
  89.            
  90.             for(new i;i < FEGYO; i++)
  91.             {
  92.                 new String[64];
  93.                 formatex(String, charsmax(String), "F_%d", i);
  94.                 OsszesSkin[i][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, String));
  95.             }
  96.                
  97.             for(new i;i < LADA; i++)
  98.             {
  99.                 new String[64];
  100.                 formatex(String, charsmax(String), "L_%d", i);
  101.                 Lada[i][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, String));
  102.             }
  103.             for(new i;i < KULCS; i++)
  104.             {
  105.                 new String[64];
  106.                 formatex(String, charsmax(String), "K_%d", i);
  107.                 Kulcs[i][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, String));
  108.             }
  109.             for(new i;i < 10; i++)
  110.             {
  111.                 new String[64];
  112.                 formatex(String, charsmax(String), "Skin%d", i);
  113.                 Skin[i][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, String));
  114.             }
  115.            
  116.             granat[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Granat"));
  117.         }
  118.         else
  119.         {
  120.             Save(id);
  121.         }
  122.     }
  123. }
  124. public Save(id)
  125. {
  126.     static Query[256];
  127.  
  128.     formatex(Query, charsmax(Query), "INSERT INTO `onlyd2_new` (`Nev`) VALUES (^"%s^");", name[id]);
  129.  
  130.     SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
  131. }
  132. public Update(id)
  133. {
  134.     static Query[10048];
  135.     new Len;
  136.    
  137.     Len += formatex(Query[Len], charsmax(Query), "UPDATE `onlyd2_new` SET Dollars = ^"%i^",", Dollar[id], name[id]);
  138.     Len += formatex(Query[Len], charsmax(Query)-Len, "PP = ^"%i^", ", SMS[id]);
  139.     Len += formatex(Query[Len], charsmax(Query)-Len, "Szint = ^"%i^", ", Rang[id]);
  140.     Len += formatex(Query[Len], charsmax(Query)-Len, "Oles = ^"%i^", ", Oles[id]);
  141.     Len += formatex(Query[Len], charsmax(Query)-Len, "Osszesoles = ^"%i^", ", osszesoles[id]);
  142.     Len += formatex(Query[Len], charsmax(Query)-Len, "Ak47 = ^"%i^", ", ak47[id]);
  143.     Len += formatex(Query[Len], charsmax(Query)-Len, "M4A1 = ^"%i^", ", m4a1[id]);
  144.     Len += formatex(Query[Len], charsmax(Query)-Len, "AWP = ^"%i^", ", awp[id]);
  145.     Len += formatex(Query[Len], charsmax(Query)-Len, "Famas = ^"%i^", ", famas[id]);
  146.     Len += formatex(Query[Len], charsmax(Query)-Len, "P90 = ^"%i^", ", p90[id]);
  147.     Len += formatex(Query[Len], charsmax(Query)-Len, "Scout = ^"%i^", ", scout[id]);
  148.     Len += formatex(Query[Len], charsmax(Query)-Len, "Deagle = ^"%i^", ", deagle[id]);
  149.     Len += formatex(Query[Len], charsmax(Query)-Len, "USP = ^"%i^", ", usp[id]);
  150.     Len += formatex(Query[Len], charsmax(Query)-Len, "Glock18 = ^"%i^", ", glock18[id]);
  151.     Len += formatex(Query[Len], charsmax(Query)-Len, "Knife = ^"%i^", ", knife[id]);
  152.     Len += formatex(Query[Len], charsmax(Query)-Len, "C4 = ^"%i^", ", c4[id]);
  153.     Len += formatex(Query[Len], charsmax(Query)-Len, "Jatszottido = ^"%i^", ", osszes_jatszott[id]+get_user_time(id) / 60);
  154.    
  155.    
  156.    
  157.     for(new i;i < FEGYO; i++)
  158.         Len += formatex(Query[Len], charsmax(Query)-Len, "F_%d = ^"%i^", ", i, OsszesSkin[i][id]);
  159.        
  160.     for(new i;i < LADA; i++)
  161.         Len += formatex(Query[Len], charsmax(Query)-Len, "L_%d = ^"%i^", ", i, Lada[i][id]);
  162.        
  163.     for(new i;i < KULCS; i++)
  164.         Len += formatex(Query[Len], charsmax(Query)-Len, "K_%d = ^"%i^", ", i, Kulcs[i][id]);
  165.        
  166.     for(new i;i < 10; i++)
  167.         Len += formatex(Query[Len], charsmax(Query)-Len, "Skin%d = ^"%i^", ", i, Skin[i][id]);
  168.        
  169.     Len += formatex(Query[Len], charsmax(Query)-Len, "Granat = ^"%i^" WHERE Nev = ^"%s^";", granat[id], name[id]);
  170.    
  171.     SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
  172. }
  173. public SQL_Update_Reg(id)
  174. {
  175.     static Query[10048];
  176.     new Len;
  177.  
  178.     Len += formatex(Query[Len], charsmax(Query), "UPDATE `onlyd2_new` SET Felhasznalonev = ^"%s^", ", regFh[id]);
  179.     Len += formatex(Query[Len], charsmax(Query)-Len, "Jelszo = ^"%s^", ", regJelszo[id]);
  180.     Len += formatex(Query[Len], charsmax(Query)-Len, "Regisztralt = ^"%i^" WHERE Nev = ^"%s^";", Regisztralt[id], name[id]);
  181.  
  182.     SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
  183. }
  184. public createTableThread(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime)
  185. {
  186.     if(FailState == TQUERY_CONNECT_FAILED)
  187.     {
  188.         set_fail_state("[HIBA*] NEM TUDTAM CSATLAKOZNI AZ ADATBAZISHOZ!");
  189.     }
  190.     else if(FailState == TQUERY_QUERY_FAILED)
  191.     {
  192.         set_fail_state("Query Error");
  193.     }
  194.     if(Errcode)
  195.     {
  196.         log_amx("[HIBA*] HIBAT DOBTAM: %s",Error);
  197.     }
  198. }
  199. public QuerySetData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime)
  200. {
  201.     if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
  202.     {
  203.         log_amx("%s", Error);
  204.         return;
  205.     }
  206. }


Ui.: Új skineket írtam hozzá, így 126db skin van fent, nem tudom, hogy bezavarhatja-e a mentésben. Plugin fut, csak a mentés b*szakszik.

Szerző:  JohanCorn [ 2017.08.09. 11:34 ]
Hozzászólás témája:  Re: MySQL - Mentés hiba (ismét)

Észrevétel! Nem kaphatsz hibaüzenetet, ha egyből set_fail_state-t tolsz. Így rögtön megszakítja és nem fogod megtudni, hogy hol a hiba. Ill a betöltés akkor jó? Azt ellenőrizted?

Szerző:  koko.988 [ 2017.08.09. 14:59 ]
Hozzászólás témája:  Re: MySQL - Mentés hiba (ismét)

JohanCorn írta:
Észrevétel! Nem kaphatsz hibaüzenetet, ha egyből set_fail_state-t tolsz. Így rögtön megszakítja és nem fogod megtudni, hogy hol a hiba. Ill a betöltés akkor jó? Azt ellenőrizted?


Reméltem, hogy te fogsz kommentelni, mert te legalább vágod a témát, de én egyáltalán nem vágom a mysql-t, szóval tudnál segíteni? :D
Lényeg, hogy ezelőtt kevesebb skinnel (86db) tökéletesen mentett. Ugyanezt a plugint szerkesztettem, csak több skint írtam hozzá, vagyis én erre gyanakszok, hogy emiatt nem ment.

Szerző:  JohanCorn [ 2017.08.09. 16:59 ]
Hozzászólás témája:  Re: MySQL - Mentés hiba (ismét)

Először bizonyosodj meg arról, hogy a mentés a rossz és nem a betöltés. Végy fel néhány értéket és nézd meg, hogy betölti-e azokat.

Szerző:  exodus [ 2017.08.13. 11:29 ]
Hozzászólás témája:  Re: MySQL - Mentés hiba (ismét)

Szövegként hoztad neki létre az oszlopot:
  1. `Granat` varchar(32) NOT NULL,


Betöltésnél számot akarsz innen betölteni:
  1. granat[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Granat"));


Mentésnél szintén számot akarsz menteni a szöveges részbe
  1. Len += formatex(Query[Len], charsmax(Query)-Len, "Granat = ^"%i^" WHERE Nev = ^"%s^";", granat[id], name[id]);

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