Szerző Téma: MySQL Probléma .. lekérdezés?  (Megtekintve 942 alkalommal)

MySQL Probléma .. lekérdezés?
« Dátum: 2013. Augusztus 01. - 10:47:45 »
0 Show voters
Sziasztok!
Adott egy mysql szerver:
MySQL host:    sql4.ultraweb.hu
Felhasználó név:    hsystem
Jelszó: Majd én hozzáadom ;)
Errõl a mysql-rõl kellene lekérdezni PAWN-ban, hogy az adott játékos IP címe szerepel-e az adatbázisban és ha igen akkor elvégzi az utasítást(okat) ha nem akkor is elvégez X utasítást..
Egy TÉNYLEG KIS segítségnek itt az ip lekérõ, ami nem is biztos hogy jó ide :D ;):
 

    new str [16 + 5];
    new ip [16];
    str = \"d=\";
    GetPlayerIp( playerid , ip , 16 );
    strcat(str, ip, 16+5);

 
Megadom  a PHP lekérdezés forráskódját is, hogy láthassátok milyen formában is menti el...
Ja, amúgy csak h tudjátok hibát ír a 7.sorba .. épp azon vagyok h kijavítsam ;)
 

<?php
$conn = mysql_connect (\"sql4.ultraweb.hu\", \"*\", \"*\");
mysql_select_db(\'test\');
$sql = \"select ip from mk\";
$res = mysql_query($sql);
$out = array(); // tömb létrehozása
while ($a = mysql_fetch_assoc($res))
{
    $out[] = $a[\"ip\"]; // tömb elemeiként továbbítja az IP címeket.
}?>
« Utoljára szerkesztve: 2013. Augusztus 01. - 10:49:54 írta Bloody44 »

MySQL Probléma .. lekérdezés?
« Válasz #1 Dátum: 2013. Augusztus 01. - 10:53:30 »
0 Show voters
Melyik SQL plugint használod?Csak mert mindegyiknek más a felépítése. :)
Amúgy nem vagyok benne biztos, hogy mûködni fog a lekérdezés, ugyanis ilyen ingyenes hostoknál, mint pl. az ultraweb nem mindig engedélyezik a külsõ csatlakozást. De ha engedélyezve van, akkor nem szóltam. :D

MySQL Probléma .. lekérdezés?
« Válasz #2 Dátum: 2013. Augusztus 01. - 10:59:09 »
0 Show voters
Idézetet írta: kadaradam date=1375347210\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"40726\" data-ipsquote-contentclass=\"forums_Topic
Melyik SQL plugint használod?Csak mert mindegyiknek más a felépítése. :)
Amúgy nem vagyok benne biztos, hogy mûködni fog a lekérdezés, ugyanis ilyen ingyenes hostoknál, mint pl. az ultraweb nem mindig engedélyezik a külsõ csatlakozást. De ha engedélyezve van, akkor nem szóltam. :D
 
Majd megnézem, de PAWN terén az SQL plugin egyenlõ a 0-val :D Filterscriptbe szeretném tenni, és ÉN semmi SQL plugint nem használok, a kérdés h TI vagy TE milyennel oldod meg ;)
Az UW-n ezt írja: MySQL kliens verzió: 4.1.22

MySQL Probléma .. lekérdezés?
« Válasz #3 Dátum: 2013. Augusztus 01. - 11:23:43 »
0 Show voters
Nos én ezt a plugint ajánlanám,  (http://forum.sa-mp.com/showthread.php?t=56564), csak az a gond, hogy nem mindegy milyen verziót használsz. Természetesen a legújabb, az R7-es a leggyorsabb, csak ez picit eltér R6-tól, ezért én még nem tértem át 7-re.R6-on tanultam meg a SQL plugin használatatát és azóta nincs kedvem áttérni, meg elég nagy munka lenni átírni a gamemode-t, szóval lusta vagyok hozzá. :D
r6-ban tudok mutatni egy példát, de szerintem jobban járnál, ha megtanulnád az r7-t, nehogy úgy járj mint én. :D
Itt egy tutorial (http://forum.sa-mp.com/showthread.php?t=337810).
Egyébként a külsõ kapcsolat nem a MySQL VErziótól függ,hanem hogy engedélyezve van-e, vagy sem.

MySQL Probléma .. lekérdezés?
« Válasz #4 Dátum: 2013. Augusztus 01. - 11:52:22 »
0 Show voters
Idézetet írta: kadaradam date=1375349023\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"40726\" data-ipsquote-contentclass=\"forums_Topic
Nos én ezt a plugint ajánlanám,  (http://forum.sa-mp.com/showthread.php?t=56564), csak az a gond, hogy nem mindegy milyen verziót használsz. Természetesen a legújabb, az R7-es a leggyorsabb, csak ez picit eltér R6-tól, ezért én még nem tértem át 7-re.R6-on tanultam meg a SQL plugin használatatát és azóta nincs kedvem áttérni, meg elég nagy munka lenni átírni a gamemode-t, szóval lusta vagyok hozzá. :D
r6-ban tudok mutatni egy példát, de szerintem jobban járnál, ha megtanulnád az r7-t, nehogy úgy járj mint én. :D
Itt egy tutorial (http://forum.sa-mp.com/showthread.php?t=337810).
Egyébként a külsõ kapcsolat nem a MySQL VErziótól függ,hanem hogy engedélyezve van-e, vagy sem.
 
Fuhh .. nekem ez kínai ..
Írnál nekem egy példát r6-ban?
Mind1 hogy hogy csak meglegyen végre!
Minden sikerült, menti az ipt a mysql bázis .. csak a PAWN script kell már, ami lekérdezi az adatbázisból!
Adatok: Tábla neve: mk   Adatbázis neve: hsystemac      Kiszolgáló adatait majd hozzáadom ;)
A külsõ hozzáférést meg megoldom, mert rendelek hostot :DD

MySQL Probléma .. lekérdezés?
« Válasz #5 Dátum: 2013. Augusztus 01. - 12:12:20 »
0 Show voters

    new ip [16], query[99];
    GetPlayerIp( playerid , ip , 16 );
   
    format(query, sizeof(query), \"SELECT ip from mk WHERE ip = \'%s\'\", ip); //megformázzuk a lekérést
    mysql_query(query);// elküldjük a lekérést
   
    mysql_store_result();// eltároljuk a lekért adatot
   
    /*mysql_fetch_row_format(query,\"|\"); //beleírjuk egy változóba az adatot, jelen esetbe a query változóba. Ez nem hiszem,hogy most kellene neked,
                               //mivel csak annyit kértél, hogy ellenörizzük le, hogy létezik-e az ip az adatbázisban, vagy sem, de azért megmutattam*/
   
    if(mysql_num_rows() != 0) // ha a sorok száma nem 0, tehát létezik az adat..
    {
        SendClientMessage(playerid, -1, \"A te IP címed már megtalálható az adatbázisban\");
    }
    else
    {
        SendClientMessage(playerid, -1, \"A te IP címed még nem található meg az adatbázisban\");
    }
   
    mysql_free_result();

MySQL Probléma .. lekérdezés?
« Válasz #6 Dátum: 2013. Augusztus 01. - 12:18:20 »
0 Show voters
Idézetet írta: kadaradam date=1375351940\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"40726\" data-ipsquote-contentclass=\"forums_Topic


    new ip [16], query[99];
    GetPlayerIp( playerid , ip , 16 );
   
    format(query, sizeof(query), \"SELECT ip from mk WHERE ip = \'%s\'\", ip); //megformázzuk a lekérést
    mysql_query(query);// elküldjük a lekérést
   
    mysql_store_result();// eltároljuk a lekért adatot
   
    /*mysql_fetch_row_format(query,\"|\"); //beleírjuk egy változóba az adatot, jelen esetbe a query változóba. Ez nem hiszem,hogy most kellene neked,
                               //mivel csak annyit kértél, hogy ellenörizzük le, hogy létezik-e az ip az adatbázisban, vagy sem, de azért megmutattam*/
   
    if(mysql_num_rows() != 0) // ha a sorok száma nem 0, tehát létezik az adat..
    {
        SendClientMessage(playerid, -1, \"A te IP címed már megtalálható az adatbázisban\");
    }
    else
    {
        SendClientMessage(playerid, -1, \"A te IP címed még nem található meg az adatbázisban\");
    }
   
    mysql_free_result();

 

Igen .. de ez azt ellenõrzi le, hogy az adott esetünkben a táblában több mint 0 sor van-e .. de ez nem jó,mert akkor minden tárolt ip-hez más-más tábla kellene és az lehetetlen, mert tömegesen szeretném felhasználni!
Azt kellene megoldani,hogy a táblában keresse meg a pawnban lekért ip-t .. vagy tévedek,és ez így jó ahogy van?:D
Szerk: és ez melyik kiszolgálóhoz csatlakozik .. vagy hova kell a jelszó meg a hostname??:DDD
Nem tiszta ez nekem .. hova küldi a lekérést?
« Utoljára szerkesztve: 2013. Augusztus 01. - 12:30:24 írta Bloody44 »

MySQL Probléma .. lekérdezés?
« Válasz #7 Dátum: 2013. Augusztus 01. - 12:50:39 »
0 Show voters
http://sampforum.hu/index.php?topic=9285.0
Ez egy jó tut az R6-hoz.
 
SELECT * FROM tabla WHERE ip = IP

 
Ezzel az összes oszlopot kiválasztottunk a táblából, ahol az ip egyenlõ IP-vel.
Tehát a kiválasztott adatokból lekérhetünk Pawnban bármit.

MySQL Probléma .. lekérdezés?
« Válasz #8 Dátum: 2013. Augusztus 01. - 13:10:00 »
0 Show voters
Idézetet írta: Bloody44 date=1375352300\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"40726\" data-ipsquote-contentclass=\"forums_Topic
Azt kellene megoldani,hogy a táblában keresse meg a pawnban lekért ip-t .. vagy tévedek,és ez így jó ahogy van?:D
Szerk: és ez melyik kiszolgálóhoz csatlakozik .. vagy hova kell a jelszó meg a hostname??:DDD
Nem tiszta ez nekem .. hova küldi a lekérést?
 
Pawno-ban lekért IP-t keresi meg, és ha talál legalább egyet, akkor kiírja, hogy \"A te IP címed már megtalálható az adatbázisban\",  ellenkezõ esetben pedig \"A te IP címed még nem található meg az adatbázisban\"
Itt a csatlakozás, csak azt hittem, hogy az menni fog:
 
#define SQL_HOST \"\"
#define SQL_USER \"\"
#define SQL_PASS \"\"
#define SQL_DB \"\"
public OnFilterScriptInit()
{
mysql_connect(SQL_HOST, SQL_USER, SQL_DB, SQL_PASS);
if( mysql_ping() == 1 ) print(\"|_MySQL:_Csatlakoztatva!______ __|\");
else
{
print(\"|_MySQL:_Nem_sikerült_csatlakozni__|\");
}
return 1;
}

MySQL Probléma .. lekérdezés?
« Válasz #9 Dátum: 2013. Augusztus 01. - 13:14:06 »
0 Show voters
Idézetet írta: kadaradam date=1375355400\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"40726\" data-ipsquote-contentclass=\"forums_Topic


Azt kellene megoldani,hogy a táblában keresse meg a pawnban lekért ip-t .. vagy tévedek,és ez így jó ahogy van?:D
Szerk: és ez melyik kiszolgálóhoz csatlakozik .. vagy hova kell a jelszó meg a hostname??:DDD
Nem tiszta ez nekem .. hova küldi a lekérést?
 
Pawno-ban lekért IP-t keresi meg, és ha talál legalább egyet, akkor kiírja, hogy \"A te IP címed már megtalálható az adatbázisban\",  ellenkezõ esetben pedig \"A te IP címed még nem található meg az adatbázisban\"
Itt a csatlakozás, csak azt hittem, hogy az menni fog:
 
#define SQL_HOST \"\"
#define SQL_USER \"\"
#define SQL_PASS \"\"
#define SQL_DB \"\"
public OnFilterScriptInit()
{
mysql_connect(SQL_HOST, SQL_USER, SQL_DB, SQL_PASS);
if( mysql_ping() == 1 ) print(\"|_MySQL:_Csatlakoztatva!______ __|\");
else
{
print(\"|_MySQL:_Nem_sikerült_csatlakozni__|\");
}
return 1;
}

 

[/quote]
Már sikerült .. megoldottam . .a probléma csak az hogy UW-nál vagyok .. és a mysql-t meg is oldottam,plugin bentvan fut a szerveren .. a probléma az hogy, ha bennevan az ip a táblába .. ha nincs .. akkor is azzal tér vissza hogy \"Benne van\" .. de mindjárt megpróbálom egy másik módszerrel!

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal