hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.03.28. 12:18



Jelenlévő felhasználók

Jelenleg 226 felhasználó van jelen :: 0 regisztrált, 0 rejtett és 226 vendég

A legtöbb felhasználó (1565 fő) 2020.11.21. 11:26-kor tartózkodott itt.

Regisztrált felhasználók: nincs regisztrált felhasználó az elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Új téma nyitása  Hozzászólás a témához  [ 9 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Sql SQL syntax
HozzászólásElküldve: 2021.01.11. 23:09 
Offline
Fanatikus

Csatlakozott: 2018.05.05. 18:34
Hozzászólások: 198
Megköszönt másnak: 39 alkalommal
Megköszönték neki: 8 alkalommal
Sziasztok.
Lenne egy olyan problémám hogy meg van csinálva hogy külön táblába mentsen a reg meg az adatok.
És az lenne a problémám hogy a második tábla szépen meg csinálja a reg általi id re az értlket de updétnél ezt dobja ki.
Tehát a felhasználóó id-t le generálja csak a változót nem menti le.

  1. public sql_account_load_server(id)
  2. {
  3.     new szQuery[2048]
  4.     new len = 0
  5.    
  6.     new a[191]
  7.    
  8.     format(a, 190, "%s", g_Felhasznalonev[id])
  9.  
  10.     replace_all(a, 190, "\", "\\")
  11.     replace_all(a, 190, "'", "\'")
  12.    
  13.     len += format(szQuery[len], 2048, "SELECT * FROM game_mod ")
  14.     len += format(szQuery[len], 2048-len,"WHERE Id = '%d'", g_Id[id]);
  15.    
  16.     new szData[2];
  17.     szData[0] = id;
  18.     szData[1] = get_user_userid(id);
  19.  
  20.     SQL_ThreadQuery(g_SqlTuple,"sql_account_load_server_thread", szQuery, szData, 2)
  21. }
  22. public sql_account_load_server_thread(FailState,Handle:Query,Error[],Errcode,szData[],DataSize) {
  23.     if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
  24.     {
  25.         log_amx("%s", Error)
  26.         return
  27.     }
  28.     else
  29.     {
  30.         new id = szData[0];
  31.        
  32.         if (szData[1] != get_user_userid(id))
  33.             return ;
  34.            
  35.         if(SQL_NumRows(Query)){
  36.            
  37.             Usd[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Dollars"));
  38.  
  39.         }
  40.         else
  41.             sql_account_load_server_row(id);
  42.        
  43.     }
  44. }
  45. public sql_account_load_server_row(id){
  46.     new Query[512]
  47.     formatex(Query, charsmax(Query), "INSERT INTO `game_mod` (`Id`) VALUES (%d);", g_Id[id]);
  48.     SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
  49. }
  50. public QuerySetData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime){
  51.     if( FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED )
  52.     {
  53.         log_amx("%s", Error);
  54.         return;
  55.     }
  56. }
  57. public sql_account_load_server_update(id)
  58. {
  59.     static Query[10048];
  60.     new Len;
  61.    
  62.     Len += formatex(Query[Len], charsmax(Query), "UPDATE `game_mod` SET ");
  63.    
  64.     Len += formatex(Query[Len], charsmax(Query), "Dollars = '%d', ",Usd[id]);
  65.  
  66.  
  67.     //Len += format(Query[Len], charsmax(Query)-Len,"Parameter = '0' ")
  68.     Len += formatex(Query[Len], charsmax(Query)-Len, "WHERE `Id` =  %d;", g_Id[id]);   
  69.    
  70.     SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
  71.     //sql_update_account1(id);
  72. }


  1. CREATE TABLE `game_mod` (
  2.   `Id` INT(11) NOT NULL,
  3.   `Dollars` INT(11) NOT NULL
  4. ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
  5.  
  6. --
  7. -- A tábla adatainak kiíratása `game_mod`
  8. --
  9.  
  10. INSERT INTO `game_mod` (`Id`, `Dollars`) VALUES
  11. (1, 0),
  12. (17, 0),
  13. (18, 0),
  14. (35, 0),
  15. (36, 0);


Kód:
L 01/11/2021 - 23:02:33: [regv1.amxx] You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE `Id` =  1' at line 1

Üdv köszi.

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Sql SQL syntax
HozzászólásElküldve: 2021.01.11. 23:25 
Offline
Senior Tag
Avatar

Csatlakozott: 2017.08.09. 17:01
Hozzászólások: 266
Megköszönt másnak: 61 alkalommal
Megköszönték neki: 72 alkalommal
konfigos312 írta:
Sziasztok.
Lenne egy olyan problémám hogy meg van csinálva hogy külön táblába mentsen a reg meg az adatok.
És az lenne a problémám hogy a második tábla szépen meg csinálja a reg általi id re az értlket de updétnél ezt dobja ki.
Tehát a felhasználóó id-t le generálja csak a változót nem menti le.

Üdv köszi.



  1. Len += formatex(Query[Len], charsmax(Query)-Len, "WHERE `Id` =  %d;", g_Id[id]);
  2. -->
  3. Len += formatex(Query[Len], charsmax(Query)-Len, "WHERE Id = `%d`;", g_Id[id]);
  4. vagy
  5. Len += formatex(Query[Len], charsmax(Query)-Len, "WHERE Id = '%d';", g_Id[id]);


Ígyis lehet(de akkor töröld ki ezt: Len += formatex(Query[Len], charsmax(Query), "Dollars = '%d', ",Usd[id]);):
  1. Len += formatex(Query[Len], charsmax(Query)-Len, "Dollars = '%d' WHERE Id = '%d';", Usd[id], g_Id[id]);

_________________
"Szeretek aludni... mert az álmaim szebbek, mint a valóság."


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Sql SQL syntax
HozzászólásElküldve: 2021.01.11. 23:35 
Offline
Fanatikus

Csatlakozott: 2018.05.05. 18:34
Hozzászólások: 198
Megköszönt másnak: 39 alkalommal
Megköszönték neki: 8 alkalommal
HellEnergY írta:
konfigos312 írta:
Sziasztok.
Lenne egy olyan problémám hogy meg van csinálva hogy külön táblába mentsen a reg meg az adatok.
És az lenne a problémám hogy a második tábla szépen meg csinálja a reg általi id re az értlket de updétnél ezt dobja ki.
Tehát a felhasználóó id-t le generálja csak a változót nem menti le.

Üdv köszi.



  1. Len += formatex(Query[Len], charsmax(Query)-Len, "WHERE `Id` =  %d;", g_Id[id]);
  2. -->
  3. Len += formatex(Query[Len], charsmax(Query)-Len, "WHERE Id = `%d`;", g_Id[id]);
  4. vagy
  5. Len += formatex(Query[Len], charsmax(Query)-Len, "WHERE Id = '%d';", g_Id[id]);


Ígyis lehet(de akkor töröld ki ezt: Len += formatex(Query[Len], charsmax(Query), "Dollars = '%d', ",Usd[id]);):
  1. Len += formatex(Query[Len], charsmax(Query)-Len, "Dollars = '%d' WHERE Id = '%d';", Usd[id], g_Id[id]);
[/quote]


úgyan az mind a kettölvel
L 01/11/2021 - 23:34:43: [regv1.amxx] You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE Id = '1'' at line 1

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Sql SQL syntax
HozzászólásElküldve: 2021.01.12. 00:10 
Offline
Fórum Moderátor
Avatar

Csatlakozott: 2014.05.01. 13:18
Hozzászólások: 627
Megköszönt másnak: 61 alkalommal
Megköszönték neki: 104 alkalommal
WHERE előtt már nem kell vessző.


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Sql SQL syntax
HozzászólásElküldve: 2021.01.12. 15:03 
Offline
Fanatikus

Csatlakozott: 2018.05.05. 18:34
Hozzászólások: 198
Megköszönt másnak: 39 alkalommal
Megköszönték neki: 8 alkalommal
Hova?

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Sql SQL syntax
HozzászólásElküldve: 2021.01.12. 15:29 
Offline
Fórum Moderátor
Avatar

Csatlakozott: 2014.05.01. 13:18
Hozzászólások: 627
Megköszönt másnak: 61 alkalommal
Megköszönték neki: 104 alkalommal
konfigos312 írta:
Hova?


Gyakorlatilag sehová. A SET részben felsorolod hogy milyen oszlopok értékeit mire szeretnéd módosítani. Nyilván akkor sorolsz fel, ha több ilyen is van.
Jelen esetben két ilyen volt. A Dollar és a Parameter. Ez utóbbi ki van kommentelve, így az előbbi végén álló vessző gyakorlatilag közvetlen a WHERE után áll. (Nem lenne szabad.) Tehát ha a SET-ben felsorolsz oszlop érték páratokat, akkor győződj meg arról, hogy az utolsó után ne legyen vessző. Szintaktikailag így helyes.


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Sql SQL syntax
HozzászólásElküldve: 2021.01.12. 15:33 
Offline
Fanatikus

Csatlakozott: 2018.05.05. 18:34
Hozzászólások: 198
Megköszönt másnak: 39 alkalommal
Megköszönték neki: 8 alkalommal
JohanCorn írta:
konfigos312 írta:
Hova?


Gyakorlatilag sehová. A SET részben felsorolod hogy milyen oszlopok értékeit mire szeretnéd módosítani. Nyilván akkor sorolsz fel, ha több ilyen is van.
Jelen esetben két ilyen volt. A Dollar és a Parameter. Ez utóbbi ki van kommentelve, így az előbbi végén álló vessző gyakorlatilag közvetlen a WHERE után áll. (Nem lenne szabad.) Tehát ha a SET-ben felsorolsz oszlop érték páratokat, akkor győződj meg arról, hogy az utolsó után ne legyen vessző. Szintaktikailag így helyes.

tehát ha 2 vagy több változot akarok menteni akkor menni fog vagy akkor is ez fog fent álni?
Csak mert ez így van nekem le kérve már évek óta az egyes táblámba csak most jöt rám hogy külön szedjem a reget meg a mod értékeket.

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Sql SQL syntax
HozzászólásElküldve: 2021.01.12. 15:40 
Offline
Fórum Moderátor
Avatar

Csatlakozott: 2014.05.01. 13:18
Hozzászólások: 627
Megköszönt másnak: 61 alkalommal
Megköszönték neki: 104 alkalommal
Mehet bele amennyi fér. Annyi a lényeg, hogy az utolsó láncelem ami még a WHERE előtt ál már ne vesszővel záródjon.

Szintaxis Hiba!

UPDATE `game_mod` SET `Dollars` = '100', WHERE `Id` = '1';

Megfelelő!

UPDATE `game_mod` SET `Dollars` = '100' WHERE `Id` = '1';

Ők köszönték meg JohanCorn nek ezt a hozzászólást: konfigos312 (2021.01.12. 20:13)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Sql SQL syntax
HozzászólásElküldve: 2021.01.12. 20:13 
Offline
Fanatikus

Csatlakozott: 2018.05.05. 18:34
Hozzászólások: 198
Megköszönt másnak: 39 alkalommal
Megköszönték neki: 8 alkalommal
JohanCorn írta:
Mehet bele amennyi fér. Annyi a lényeg, hogy az utolsó láncelem ami még a WHERE előtt ál már ne vesszővel záródjon.

Szintaxis Hiba!

UPDATE `game_mod` SET `Dollars` = '100', WHERE `Id` = '1';

Megfelelő!

UPDATE `game_mod` SET `Dollars` = '100' WHERE `Id` = '1';

Köszönöm sikerült.

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
Hozzászólások megjelenítése:  Rendezés  
Új téma nyitása  Hozzászólás a témához  [ 9 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 4 vendég


Nyithatsz új témákat ebben a fórumban.
Válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.
Nem küldhetsz csatolmányokat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB® Forum Software © phpBB Limited
Magyar fordítás © Magyar phpBB Közösség
Portal: Kiss Portal Extension © Michael O'Toole