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

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Leírások/Útmutatók => A témát indította: Y2K - 2011. március 15. - 19:39:08

Cím: [TUT] G-StyleZzZ, Strickenkid és ADreNaLiNe-DJ MySQL plugin-jai
Írta: Y2K - 2011. március 15. - 19:39:08
\"mysql.gif\"
 
Bevezetés:
Ez a téma hasonló \"PVar és sima változók\" címû \"tutorial\"-omhoz , ahol a PVar-okat és az egyszerû változókat hasonlítottam össze. Az a téma azt mutatta be, melyik gyorsabb az adatok beolvasásában.
Mindegy, most három MySQL plugin-t fogunk összehasonlítani.
1: SA:MP MySQL Plugin 1.2.1 (StrickenKid) - http://forum.sa-mp.com/showthread.php?t=122983
2: MySQL Plugin R4 (G-StyleZzZ) - http://forum.sa-mp.com/showthread.php?t=56564
3: SAMP-MySQL v0.15 (ADreNaLiNe-DJ) - http://forum.sa-mp.com/showthread.php?t=7106
Kis statisztika:
SA:MP MySQL Plugin 1.2.1 (StrickenKid)
Funkciók: \"yellow_star.gif\"\"yellow_star.gif\"\"yellow_star.gif\"\"yellow_star.gif\"\"yellow_star.gif\"
Sebesség: Majd kiterítjük
MySQL Plugin R4 (G-StyleZzZ)
Funkciók: \"yellow_star.gif\"\"yellow_star.gif\"\"yellow_star.gif\"\"yellow_star.gif\"
Sebesség: Majd kiterítjük
SAMP-MySQL v0.15 (ADreNaLiNe-DJ)
MySQL Plugin R4 (G-StyleZzZ)
Funkciók: \"yellow_star.gif\"\"yellow_star.gif\"
Sebesség: Majd kiterítjük
Lehet hülye vagyok, mert a funkciókat osztályozom!  ;)
Kísérleti kód:
A MySQL Plugin R4 (G-StyleZzZ) tesztjéhez a következõ kódot használjuk:
 
new
       Data[25],
       Float:LoadedP[3];
mysql_query(\"SELECT X, Y, Z FROM Armour\");
mysql_store_result();
while(mysql_fetch_row_format(Data, \"|\")) {
     sscanf(Data, \"p<|>fff\", LoadedP[0], LoadedP[1], LoadedP[2]);
     CreatePickup(1242, 2, LoadedP[0], LoadedP[1], LoadedP[2], -1);
}
mysql_free_result();

 
A SA:MP MySQL Plugin 1.2.1 (StrickenKid) tesztjéhez a következõ kódot használjuk:
 
new
       Data[25],
       Float:LoadedP[3];
mysql_query(\"SELECT X, Y, Z FROM Armour\");
mysql_store_result();
while(mysql_fetch_row(Data, \"|\")) {
     sscanf(Data, \"p<|>fff\", LoadedP[0], LoadedP[1], LoadedP[2]);
     CreatePickup(1242, 2, LoadedP[0], LoadedP[1], LoadedP[2], -1);
}
mysql_free_result();

 
A SAMP-MySQL v0.15 (ADreNaLiNe-DJ) tesztjéhez a következõ kódot használjuk:
 
new
       Data[25],
       Float:LoadedP[3];
samp_mysql_query(\"SELECT X, Y, Z FROM Armour\");
samp_mysql_store_result();
while(samp_mysql_fetch_row(Data)) {
     sscanf(Data, \"p<|>fff\", LoadedP[0], LoadedP[1], LoadedP[2]);
     CreatePickup(1242, 2, LoadedP[0], LoadedP[1], LoadedP[2], -1);
}
samp_mysql_free_result();

 
Kísérlet eredménye:
 
G-StyleZzZ plugin-jának ideje: 19 ms[/quote]
 
new
       Data[25],
       Float:LoadedP[3];
new TickStart;
new TickEnd;
TickStart = GetTickCount();
mysql_query(\"SELECT X, Y, Z FROM Armour\");
mysql_store_result();
while(mysql_fetch_row_format(Data, \"|\")) {
       sscanf(Data, \"p<|>fff\", LoadedP[0], LoadedP[1], LoadedP[2]);
        CreatePickup(1242, 2, LoadedP[0], LoadedP[1], LoadedP[2], -1);
}
mysql_free_result();
TickEnd = GetTickCount();
printf(\"G-StyleZzZ plugin-jának ideje: %i ms\", TickEnd - TickStart);

 

Strickenkid plugin-jának ideje: 10 ms[/quote]
new
       Data[25],
       Float:LoadedP[3];
new TickStart;
new TickEnd;
TickStart = GetTickCount();
mysql_query(\"SELECT X, Y, Z FROM Armour\");
mysql_store_result();
while(mysql_fetch_row(Data, \"|\")) {
             sscanf(Data, \"p<|>fff\", LoadedP[0], LoadedP[1], LoadedP[2]);
         CreatePickup(1242, 2, LoadedP[0], LoadedP[1], LoadedP[2], -1);
}
mysql_free_result();
TickEnd = GetTickCount();
printf(\"Strickenkid plugin-jának ideje: %i ms\", TickEnd - TickStart);
 
ADreNaLiNe-DJ plugin-jának ideje: .... ms[/quote]
 
new
       Data[25],
       Float:LoadedP[3];
new TickStart;
new TickEnd;
TickStart = GetTickCount();
samp_mysql_query(\"SELECT X, Y, Z FROM Armour\");
samp_mysql_store_result();
while(samp_mysql_fetch_row(Data)) {
             sscanf(Data, \"p<|>fff\", LoadedP[0], LoadedP[1], LoadedP[2]);
         CreatePickup(1242, 2, LoadedP[0], LoadedP[1], LoadedP[2], -1);
}
samp_mysql_free_result();
TickEnd = GetTickCount();
printf(\"ADreNaLiNe-DJ plugin-jának ideje:\", TickEnd - TickStart);

 
Következtetés:
Nem mennék ebbe bele, ez csak egy sebességellenõrzés volt az adatok beolvasását tekintve. A ADreNaLiNe-DJ plugin-jánál lévõ ....-rõl annyit, hogy crash-elt, nem volt képes annyi adat beolvasására  ;D
 
Strickenkid plugin-jának ideje: 10 ms
G-StyleZzZ plugin-jának ideje: 19 ms
ADreNaLiNe-DJ plugin-jának ideje: <Crash-elt>
[/quote]
Írta: Carlton (2010. július 21.) (http://forum.sa-mp.com/showthread.php?t=161726)

Fordította: Y2K (2010. augusztus 2.)
Cím: [TUT] G-StyleZzZ, Strickenkid és ADreNaLiNe-DJ MySQL plugin-jai
Írta: ChuckNorris - 2011. március 15. - 19:51:49
Nekem G-StyleZzZé jön be a legjobban,azt használom és szerintem az a legstabilabb is.
(Kölönben 2X nyitottad meg a témát. :) Látom belejöttél a leírásosdiba  :))
Cím: [TUT] G-StyleZzZ, Strickenkid és ADreNaLiNe-DJ MySQL plugin-jai
Írta: TengeriMalac - 2011. március 17. - 07:01:55
Sebesség: Majd kiterítjük[/quote]
Ki tudod teríteni a sebességet?
Beavatsz, h hogy kell? xD
Cím: [TUT] G-StyleZzZ, Strickenkid és ADreNaLiNe-DJ MySQL plugin-jai
Írta: kriszrap - 2011. május 01. - 12:38:22
és ha csak egy mezöt szeretnék le kérdezni nem ilyen tömböset azt hogy kell??:D ha értitek mit akakrok??:D
Cím: [TUT] G-StyleZzZ, Strickenkid és ADreNaLiNe-DJ MySQL plugin-jai
Írta: ChuckNorris - 2011. május 01. - 12:43:05
Idézetet írta: kriszrap date=1304246302\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"6852\" data-ipsquote-contentclass=\"forums_Topic
és ha csak egy mezöt szeretnék le kérdezni nem ilyen tömböset azt hogy kell??:D ha értitek mit akakrok??:D
 
Tehát egy bizonyos sor egy bizonyos cellájának értékére vagy kíváncsi?
Cím: [TUT] G-StyleZzZ, Strickenkid és ADreNaLiNe-DJ MySQL plugin-jai
Írta: kriszrap - 2011. május 01. - 13:04:03
pontosan:)
hát php és sql be  igy néz ki:
$valszat = mysql(\"SELECT *  FROM samp  WHERE id=\'$id\' \")
$row =mysql_fetch_array($valszat);
print $row[\'akármi\'];
Hát irtam egy példát hogy kb mire gondolok:D
Valaki tud segíteni??:(
Cím: [TUT] G-StyleZzZ, Strickenkid és ADreNaLiNe-DJ MySQL plugin-jai
Írta: ChuckNorris - 2011. május 02. - 13:47:13
stock fuggveny(playerid)
{
new line[200],str[24];
    mysql_query(\"SELECT valami FROM `tabla`\");
    mysql_store_result();
    mysql_fetch_row(line);
    mysql_free_result();
   
    sscanf(line, \"p<|>s[24]\",str);
return str;
}

 
Ebbõl meg tudod oldani nem?
Cím: [TUT] G-StyleZzZ, Strickenkid és ADreNaLiNe-DJ MySQL plugin-jai
Írta: kriszrap - 2011. május 02. - 14:32:56
meg proszálom:D
Cím: [TUT] G-StyleZzZ, Strickenkid és ADreNaLiNe-DJ MySQL plugin-jai
Írta: hegdavid95 - 2011. május 02. - 15:16:57
Idézetet írta: ChuckNorris date=1304336833\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"6852\" data-ipsquote-contentclass=\"forums_Topic
[pawn]stock fuggveny(playerid)
{
new line[200],str[24];
    mysql_query(\"SELECT valami FROM `tabla`\");
    mysql_store_result();
    mysql_fetch_row(line);
    mysql_free_result();
   
    sscanf(line, \"p<|>s[24]\",str);
return str;
}
[/pawn]
Ebbõl meg tudod oldani nem?
 
Miért kell az sscanf? Csak kérdezem mert érdekelne.
ez igy nem jo?:
[pawn]stock fuggveny(playerid)
{
    new line[200],str[24];
    mysql_query(\"SELECT valami FROM `tabla`\");
    mysql_store_result();
    mysql_fetch_row(line);
    mysql_free_result();
    return line;
}
[/pawn]
Cím: [TUT] G-StyleZzZ, Strickenkid és ADreNaLiNe-DJ MySQL plugin-jai
Írta: ChuckNorris - 2011. május 02. - 15:43:57
Idézetet írta: hegdavid95 date=1304342217\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"6852\" data-ipsquote-contentclass=\"forums_Topic


[pawn]stock fuggveny(playerid)
{
new line[200],str[24];
    mysql_query(\"SELECT valami FROM `tabla`\");
    mysql_store_result();
    mysql_fetch_row(line);
    mysql_free_result();
   
    sscanf(line, \"p<|>s[24]\",str);
return str;
}
[/pawn]
Ebbõl meg tudod oldani nem?
 
Miért kell az sscanf? Csak kérdezem mert érdekelne.
ez igy nem jo?:
[pawn]stock fuggveny(playerid)
{
    new line[200],str[24];
    mysql_query(\"SELECT valami FROM `tabla`\");
    mysql_store_result();
    mysql_fetch_row(line);
    mysql_free_result();
    return line;
}
[/pawn]
 
[/quote]
Jó így is elvileg,én szokásból hagytam bent.
Cím: [TUT] G-StyleZzZ, Strickenkid és ADreNaLiNe-DJ MySQL plugin-jai
Írta: kriszrap - 2011. május 03. - 16:18:15
és nem szeretném egyesével ki választgatni  \"select *\" és ugy ki iratás azt hogyan mert 22 tömböm van vagy mezöm:D kicsit hosszu lenne :D
Cím: [TUT] G-StyleZzZ, Strickenkid és ADreNaLiNe-DJ MySQL plugin-jai
Írta: ChuckNorris - 2011. május 03. - 16:27:34
Idézetet írta: kriszrap date=1304432295\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"6852\" data-ipsquote-contentclass=\"forums_Topic
és nem szeretném egyesével ki választgatni  \"select *\" és ugy ki iratás azt hogyan mert 22 tömböm van vagy mezöm:D kicsit hosszu lenne :D
 
û
Akk pont  hogy a * kéne mert az mindent kiválaszt
Cím: [TUT] G-StyleZzZ, Strickenkid és ADreNaLiNe-DJ MySQL plugin-jai
Írta: kriszrap - 2011. május 03. - 17:51:09
igen ha ki választom és valahogy meg kéne szabnom hogy meiket akarom ki iratni:D
hogy??:)
Cím: [TUT] G-StyleZzZ, Strickenkid és ADreNaLiNe-DJ MySQL plugin-jai
Írta: ChuckNorris - 2011. május 03. - 18:35:54
Idézetet írta: kriszrap date=1304437869\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"6852\" data-ipsquote-contentclass=\"forums_Topic
igen ha ki választom és valahogy meg kéne szabnom hogy meiket akarom ki iratni:D
hogy??:)
 
sscanfal szétdarabolod a karakterláncot a | jelek mentén.
Cím: [TUT] G-StyleZzZ, Strickenkid és ADreNaLiNe-DJ MySQL plugin-jai
Írta: kriszrap - 2011. május 03. - 21:17:27
Ez miért nem müködik:(
 

format(query, sizeof(query), \"SELECT * FROM `userek` WHERE `jatekosnev` = \'%s\'\",playername);
mysql_query(query);
mysql_store_result();
    mysql_fetch_row(line);
    sscanf(line, \"p<|>d[24]\",\"p<|>d[24]\",str,str2);
Cím: [TUT] G-StyleZzZ, Strickenkid és ADreNaLiNe-DJ MySQL plugin-jai
Írta: Zsolesszka - 2011. május 03. - 22:04:39
Kriszrap ha leírnád hogy te épp milyen adatot akarsz lekérdezni akkor könnyebb lenne példát írni rá, és te is könnyebben megértenéd.
Egyébként nagyon egyszerû mert SELECT utasítás után nem * ot írsz hanem azokat a kifejezéseket amelyikre  neked szükséged van.
 

mysql_query(\"SELECT `Name`, `Kills`, `Deaths` FROM `users`\");
Cím: [TUT] G-StyleZzZ, Strickenkid és ADreNaLiNe-DJ MySQL plugin-jai
Írta: kriszrap - 2011. május 08. - 23:17:01
azt vettem észre hogy a tömbök közöt meg hadja ezt  | miért??
Cím: [TUT] G-StyleZzZ, Strickenkid és ADreNaLiNe-DJ MySQL plugin-jai
Írta: ChuckNorris - 2011. május 09. - 09:40:09
Mert a mySql azzal választja szét az adatokat,a sscanf elé rakj be egy ilyet: p<|>
Szal sscanf(sql,\"<p|>....
Cím: [TUT] G-StyleZzZ, Strickenkid és ADreNaLiNe-DJ MySQL plugin-jai
Írta: kriszrap - 2011. május 09. - 20:28:59
sajna nem jó!!:(
elmondom mit akarok van egy táblázat id nél 7 es van névnél kriszrap
 és ezt ki karom iratni hogyan segítsetek:(
Cím: [TUT] G-StyleZzZ, Strickenkid és ADreNaLiNe-DJ MySQL plugin-jai
Írta: Zsolesszka - 2011. május 10. - 17:03:11
Idézetet írta: kriszrap date=1304965739\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"6852\" data-ipsquote-contentclass=\"forums_Topic
sajna nem jó!!:(
elmondom mit akarok van egy táblázat id nél 7 es van névnél kriszrap
 és ezt ki karom iratni hogyan segítsetek:(
 
Másold be ahogy eddig próbáltad és akkor arra kapsz választ mit rontottál el, úgy gyorsabban megérted mint azt hogy most ideírok egy rakás kódot.
Cím: [TUT] G-StyleZzZ, Strickenkid és ADreNaLiNe-DJ MySQL plugin-jai
Írta: kriszrap - 2011. május 10. - 21:34:01

  new Float:str[256];
    format(query, sizeof(query), \"SELECT * FROM `userek` WHERE `jatekosnev` = \'%s\'\",playername);
mysql_query(query);
mysql_store_result();
    mysql_fetch_row(line);
      sscanf(line, \"<|>s\",str[0],str[1]);

 
hát igy néz ki a kod
Cím: [TUT] G-StyleZzZ, Strickenkid és ADreNaLiNe-DJ MySQL plugin-jai
Írta: ChuckNorris - 2011. május 10. - 22:04:59
Idézetet írta: kriszrap date=1305056041\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"6852\" data-ipsquote-contentclass=\"forums_Topic


  new Float:str[256];
    format(query, sizeof(query), \"SELECT * FROM `userek` WHERE `jatekosnev` = \'%s\'\",playername);
mysql_query(query);
mysql_store_result();
    mysql_fetch_row(line);
      sscanf(line, \"<|>s\",str[0],str[1]);

 
hát igy néz ki a kod
 
???
 

    new str[2][128];
    format(query, sizeof(query), \"SELECT * FROM `userek` WHERE `jatekosnev` = \'%s\'\",playername);
    mysql_query(query);
    mysql_store_result();
    mysql_fetch_row(line);
    mysql_free_result();
    sscanf(line, \"p<|>s[50]s[50]\",str[0],str[1]);

 
Nem tudom milyen adatokat tárolsz,ez az elsõ 2 cella értékét kéri la a sornak,ha több van,valószínüleg bebugol,meg gondolom a deklarációkat meg a lekéréseket megcsináltad elõrébb. (playername stb)
Cím: [TUT] G-StyleZzZ, Strickenkid és ADreNaLiNe-DJ MySQL plugin-jai
Írta: kriszrap - 2011. május 11. - 00:28:59
köszönöm:)