Szerző Téma: MYSQL lekérdezési értékek hibásak  (Megtekintve 1403 alkalommal)

MYSQL lekérdezési értékek hibásak
« Dátum: 2012. augusztus 27. - 12:08:56 »
0 Show voters
Ü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

MYSQL lekérdezési értékek hibásak
« Válasz #1 Dátum: 2012. augusztus 27. - 14:18:28 »
0 Show voters
Õ talán mert a
 
CMySQLHandler::FetchRow() - Return: 19[/quote]
azt jelenti hogy a 19-dik sor felelt meg a feltételeknek?

MYSQL lekérdezési értékek hibásak
« Válasz #2 Dátum: 2012. augusztus 27. - 15:38:24 »
0 Show voters
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

MYSQL lekérdezési értékek hibásak
« Válasz #3 Dátum: 2012. augusztus 27. - 16:04:14 »
+1 Show voters
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]
« Utoljára szerkesztve: 2012. augusztus 27. - 16:26:20 írta ɐʞzssǝlosz »

MYSQL lekérdezési értékek hibásak
« Válasz #4 Dátum: 2012. augusztus 27. - 16:29:29 »
+1 Show voters
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?

MYSQL lekérdezési értékek hibásak
« Válasz #5 Dátum: 2012. augusztus 27. - 19:39:05 »
0 Show voters
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)

MYSQL lekérdezési értékek hibásak
« Válasz #6 Dátum: 2012. augusztus 27. - 19:42:04 »
0 Show voters
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)?

MYSQL lekérdezési értékek hibásak
« Válasz #7 Dátum: 2012. augusztus 27. - 20:06:00 »
0 Show voters
Esetleg a PASS-t ne likevel ellenõrizd, hanem, simán ,hogy egyenlõ-e a tiéddel..

MYSQL lekérdezési értékek hibásak
« Válasz #8 Dátum: 2012. augusztus 27. - 20:28:43 »
0 Show voters
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.

MYSQL lekérdezési értékek hibásak
« Válasz #9 Dátum: 2012. augusztus 27. - 20:37:43 »
0 Show voters
hát pontosan ezt csináltam :) ésaz volt az az 1-20ig való szám

MYSQL lekérdezési értékek hibásak
« Válasz #10 Dátum: 2012. augusztus 27. - 20:56:30 »
0 Show voters
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.
« Utoljára szerkesztve: 2012. augusztus 27. - 21:00:44 írta ɐʞzssǝlosz »

MYSQL lekérdezési értékek hibásak
« Válasz #11 Dátum: 2012. augusztus 27. - 21:13:49 »
0 Show voters
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

MYSQL lekérdezési értékek hibásak
« Válasz #12 Dátum: 2012. augusztus 27. - 21:17:38 »
0 Show voters
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.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal