hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2021.01.16. 13:16



Jelenlévő felhasználók

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

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

Regisztrált felhasználók: Bing [Bot], Google [Bot] 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
Tud valamit

Csatlakozott: 2018.05.05. 18:34
Hozzászólások: 117
Megköszönt másnak: 27 alkalommal
Megköszönték neki: 6 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.


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: 211
Megköszönt másnak: 50 alkalommal
Megköszönték neki: 42 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
Tud valamit

Csatlakozott: 2018.05.05. 18:34
Hozzászólások: 117
Megköszönt másnak: 27 alkalommal
Megköszönték neki: 6 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


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: 608
Megköszönt másnak: 58 alkalommal
Megköszönték neki: 96 alkalommal
WHERE előtt már nem kell vessző.

_________________
rwT* Team | Szerverek!

Különleges játékélmény különleges szerverektől.
Bővebb információkért nézz az alábbi tartalmak után.

( FaceBook ) ( YouTube ) ( Web ) ( GameTracker )


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
Tud valamit

Csatlakozott: 2018.05.05. 18:34
Hozzászólások: 117
Megköszönt másnak: 27 alkalommal
Megköszönték neki: 6 alkalommal
Hova?


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: 608
Megköszönt másnak: 58 alkalommal
Megköszönték neki: 96 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.

_________________
rwT* Team | Szerverek!

Különleges játékélmény különleges szerverektől.
Bővebb információkért nézz az alábbi tartalmak után.

( FaceBook ) ( YouTube ) ( Web ) ( GameTracker )


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
Tud valamit

Csatlakozott: 2018.05.05. 18:34
Hozzászólások: 117
Megköszönt másnak: 27 alkalommal
Megköszönték neki: 6 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.


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: 608
Megköszönt másnak: 58 alkalommal
Megköszönték neki: 96 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';

_________________
rwT* Team | Szerverek!

Különleges játékélmény különleges szerverektől.
Bővebb információkért nézz az alábbi tartalmak után.

( FaceBook ) ( YouTube ) ( Web ) ( GameTracker )

Ő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
Tud valamit

Csatlakozott: 2018.05.05. 18:34
Hozzászólások: 117
Megköszönt másnak: 27 alkalommal
Megköszönték neki: 6 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.


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 3 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