GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: hegdavid95 - 2012. augusztus 27. - 12:08:56

Cím: MYSQL lekérdezési értékek hibásak
Írta: hegdavid95 - 2012. augusztus 27. - 12:08:56
Üdv nemtudom hogy létezik e ilyen, de tegnap óta, amikor semmit sem módosítottam a szerver módjában,
valamilyen oknál fogva a mysql lekérdezések nagy része értelmetlen értékeket ad vissza
pl lekérdezem egy játékos összes adatát
és visszatér egy teljesen oda nem illõ dologgal pl hogy 19
[12:06:37] CMySQLHandler::Query(SELECT * FROM `players` WHERE `Name` LIKE \'Devilke\' AND `pass` LIKE \'***\') - Successfully executed.
[12:06:37] >> mysql_store_result( Connection handle: 1 )
[12:06:37] CMySQLHandler::StoreResult() - Result was stored.
[12:06:37] >> mysql_num_rows( Connection handle: 1 )
[12:06:37] CMySQLHandler::NumRows() - Returned 1 row(s)
[12:06:37] >> mysql_fetch_row_format( Connection handle: 1 )
[12:06:37] CMySQLHandler::FetchRow() - Return: 19
Ez teljességgel lehetetlen hogy ezt adja vissza, mivel a players táblában 50 adat van tárolva.
és az nyilván nem egy szám. Ami még érdekes, hogy más lekérdezéseknél tökéletesen hiba mentes minden, és ez sem minden játékosnál fordul elõ csak ugy a 30% nál
Cím: MYSQL lekérdezési értékek hibásak
Írta: Zsolesszka - 2012. augusztus 27. - 14:18:28
Õ talán mert a
 
CMySQLHandler::FetchRow() - Return: 19[/quote]
azt jelenti hogy a 19-dik sor felelt meg a feltételeknek?
Cím: MYSQL lekérdezési értékek hibásak
Írta: hegdavid95 - 2012. augusztus 27. - 15:38:24
ja értem. csak azért gondoltam rá hogy ez lehet a probléma mert ugyanaz a szám lett az a karakterlánc amivel visszatért
Cím: MYSQL lekérdezési értékek hibásak
Írta: .Howard™ - 2012. augusztus 27. - 16:04:14
Ha a probléma mûködik!

Akkor tedd ki a
MEGOLDVA Kombinációt a témád elé!

Hogyan tedd ki?


Menj be a topicban---->>>Modositás---->>>Kategória--->>>Megoldva.

[gmod]Köszönjük emese.Kérlek amit itt találsz azt olvasd el.[/gmod]
Cím: MYSQL lekérdezési értékek hibásak
Írta: Zsolesszka - 2012. augusztus 27. - 16:29:29
Idézetet írta: hegdavid95 date=1346074704\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"26939\" data-ipsquote-contentclass=\"forums_Topic
ja értem. csak azért gondoltam rá hogy ez lehet a probléma mert ugyanaz a szám lett az a karakterlánc amivel visszatért
 
Több információra van szükség ahhoz hogy megfelelõ segítséget kapj.
Ha valaki segíteni akar és nem tudja rekonstruálni azt amit te próbálsz létrehozni, nem fog tudni segíteni.
Mysql adat tábla szerkezet?
Szkriptben használt pawn kód?
Cím: MYSQL lekérdezési értékek hibásak
Írta: hegdavid95 - 2012. augusztus 27. - 19:39:05
nos leirhatom de szerintem ez nem pawn kód hiba.
lekérdezés:
 
      
new MyRegID,autologin;
// Autologin
format(query, sizeof(query), \"SELECT * FROM `players` WHERE `Name` = \'%s\' AND `Ip` = \'%s\'\", Name(playerid), IP);
mysql_query(query);
mysql_store_result();
   if(mysql_num_rows() != 0)
{
   mysql_fetch_row(Line);
                        //a Line itt egy 1-20 ig terjedõ szám legtöbbször 17 18
            mysql_free_result();
   sscanf(Line, \"p<|>d{s[24]s[16]s[30]s[24]s[70]ddddddddddddddddddddddddds[3700]ddds[100]ddddddddds[100]dddd}d{dd}\",MyRegID,autologin);
   //sscanf(Line, \"p<|>d{s[24]s[20]s[20]s[24]s[70]d}\", MyRegID);
   if(autologin)
   {
      SetPVarInt(playerid, \"RegID\", MyRegID);
      LoginPlayer(playerid, Line);
      if(GetPVarInt(playerid,\"AdminSz\")) SetPVarInt(playerid,\"readcmds\",1);
      SendClientMessage(playerid, COLOR_GREEN,\"Automatikusan bejelentkeztél. (/autologin a ki illetve bekapcsoláshoz)\");
   }
}
else
{
   mysql_free_result();
}

 
a tábla szerkezete meg:
 
        1    reg_id    mediumint(7)
2    name    varchar(24)
3    ip              varchar(20)
4    pass    varchar(20)
5    reg_date    varchar(24)
6    sp    varchar(70)    latin1_swedish_ci
7    money    int(20)
8    score    int(20)
9    bank    int(20)
10    level    int(20)
11    mute    int(20)
12    warns    int(20)
13    jail    int(20)
14    deaths    int(20)
15    kills    int(20)
16    time    int(20)
17    allowpm    int(20)
18    allowgoto    int(20)
19    allowboost    int(20)
20    autofix    int(20)
21    antifall    int(20)
22    savedskin    int(20)
23    style    int(20)
24    Clan    int(20)
25    maxkills    int(20)
26    kincseslada    int(20)
27    reakcioteszt    int(20)
28    matek    int(20)
29    star    int(20)
30    color    int(20)
31    vip    int(20)
32    fal    varchar(3700)    latin1_swedish_ci
33    munka    int(20)
34    elvmunka    int(20)
35    spawn    int(20)
36    sc    varchar(100)
37    house    int(4)
38    StuntLvl    int(4)
39    DriftLvl    int(4)
40    RpLvl    int(4)
41    DMLvl    int(4)
42    StuntExp    int(20
43    DriftExp    int(20)
44    RpExp    int(20)
45    DMExp    int(20)
46    weapons    varchar(100)    latin1_swedish_ci
47    MainSkill    tinyint(1)
48    SkillText    tinyint(1)
49    ClanRang    tinyint(2)
50    Races    int(20)
51    Autologin    tinyint(1)
52    Szavazott    tinyint(1)
53    AdminSz    tinyint(1)
Cím: MYSQL lekérdezési értékek hibásak
Írta: TengeriMalac - 2012. augusztus 27. - 19:42:04
Nem értek MYSQLhez, de ez feltûnt
 
sscanf(Line, \"p<|>d{s[24]s[16]s[30]s[24]s[70]ddddddddddddddddddddddddds[3700]ddds[100]ddddddddds[100]dddd}d{dd}\",MyRegID,autologin);

 
~20 változót, amibõl az elsõ 2 string, 2 változóra kérsz le, amik sima változók (számok)?
Cím: MYSQL lekérdezési értékek hibásak
Írta: lackos888 - 2012. augusztus 27. - 20:06:00
Esetleg a PASS-t ne likevel ellenõrizd, hanem, simán ,hogy egyenlõ-e a tiéddel..
Cím: MYSQL lekérdezési értékek hibásak
Írta: Zsolesszka - 2012. augusztus 27. - 20:28:43
Ide írd be ez helyett:
//a Line itt egy 1-20 ig terjedõ szám legtöbbször 17 18
 
print(Line);

 
Majd futtasd le és nézd meg mit írt ki a server_log.txt fájlba.
Cím: MYSQL lekérdezési értékek hibásak
Írta: hegdavid95 - 2012. augusztus 27. - 20:37:43
hát pontosan ezt csináltam :) ésaz volt az az 1-20ig való szám
Cím: MYSQL lekérdezési értékek hibásak
Írta: Zsolesszka - 2012. augusztus 27. - 20:56:30
Az a Line milyen?
new ?
Jó most kicsit jobban elolvastam, hogy általában mûködik csak néha rossz, akkor a plugin hibája lesz pedig próbáld frissíteni a plugint hátha segít.
Vagy vizsgáld át, a players adat táblát hogy minden mezõben szerepel-e adat.
Cím: MYSQL lekérdezési értékek hibásak
Írta: hegdavid95 - 2012. augusztus 27. - 21:13:49
hm értem. köszia tippet. de azért ez is fura hogy ha valami egy ideig müködik hogy romlik el csak ugy? :D
Cím: MYSQL lekérdezési értékek hibásak
Írta: Zsolesszka - 2012. augusztus 27. - 21:17:38
Arra gondolok hogy valahol a módban talán elõfordulhat hogy nem minden mysql_store_result kapja meg a mysql_free_result utasítást, ez végett elõfordulhat ilyesmi.
Nézd meg a mysql logot hátha kiderül belõle valami ilyesmi.