Lehetséges PAWN-ban adat törlése MYSQL táblából?

Indította Bloody44, 2013. augusztus 01. - 12:24:31

Előző téma - Következő téma

Bloody44

Sziasztok!
Lehetséges megoldani azt hogy egy adatot törlünk egy MYSQL táblából ami esetünkben az \"mk\" tábla, \"hsystemac\" adatbázissal és 2sorral, \"id\" és \"ip\" ..
Az \"ip\" sorban kellene megkeresni (illetve elõször lekéretni pawn-ban az ipcímet) a lekért íp-t és törölni azt .. lehetséges ez?

dipsnark

ip sor? véletlenül nem oszlopra gondoltál? egyébként nagyon egyszerûen UPDATE segítségével frissíted a MySQL táblád mezõjét. Tehát ha törölni akarsz valamit:
 
UPDATE tabla SET ip = NULL WHERE ...

Bloody44

Idézetet írta: dipsnark date=1375353553\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"40730\" data-ipsquote-contentclass=\"forums_Topicip sor? véletlenül nem oszlopra gondoltál? egyébként nagyon egyszerûen UPDATE segítségével frissíted a MySQL táblád mezõjét. Tehát ha törölni akarsz valamit:
 
UPDATE tabla SET ip = NULL WHERE ...

 

És esetleg az lehetséges hogy pawn-ban lekérjük az ip-t és azt törölni a táblából?

dipsnark

new ip[16]; GetPlayerIp(playerid, ip, 16);

 

UPDATE tabla SET IP = NULL WHERE IP = ip

 
A nagybetûs IP a tábla egyik oszlopa, a kisbetûs pedig a karakterlánc amibe lekértük a játékos IP-jét.
Itt NULL-ra állítjuk az IP-t a táblában abban a sorban, ahol az IP egyenlõ a lekért IP-vel.

Bloody44

Idézetet írta: dipsnark date=1375354626\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"40730\" data-ipsquote-contentclass=\"forums_Topic
new ip[16]; GetPlayerIp(playerid, ip, 16);

 

UPDATE tabla SET IP = NULL WHERE IP = ip

 
A nagybetûs IP a tábla egyik oszlopa, a kisbetûs pedig a karakterlánc amibe lekértük a játékos IP-jét.
Itt NULL-ra állítjuk az IP-t a táblában abban a sorban, ahol az IP egyenlõ a lekért IP-vel.
 
ezt betennéd nekem egy /delete parancs  alá?

dipsnark

#5
Amint gépnél leszek csinálok egy parancsot és szerkesztem ezt a hozzászólást.
 

new SQLHandle = mysql_connect(/*csatlakozásadatok*/);
CMD:delete(playerid, params[])
{
new ip[16], query[128];
GetPlayerIp(playerid, ip, 16);
format(query, sizeof(query), \"UPDATE tabla SET IP = NULL WHERE IP = \'%s\'\", ip);
mysql_tquery(SQLHandle, query, \"\", \"\");
}

Bloody44

Idézetet írta: dipsnark date=1375355912\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"40730\" data-ipsquote-contentclass=\"forums_TopicAmint gépnél leszek csinálok egy parancsot és szerkesztem ezt a hozzászólást.
 

new SQLHandle = mysql_connect(/*csatlakozásadatok*/);
CMD:delete(playerid, params[])
{
new ip[16], str[32], query[128];
GetPlayerIp(playerid, ip, 16);
format(query, sizeof(query), \"UPDATE tabla SET IP = NULL WHERE IP = \'%s\'\", ip);
mysql_tquery(SQLHandle, query, \"\", \"\");
}

 

(57) : error 035: argument type mismatch (argument 1)
57:    mysql_query(SQLHandle, query, \"\", \"\");

dipsnark

#7
R6-os plugint használsz?
Akkor csak:
 
mysql_query(query);

 
A felsõ kódban a mysql_tquery nem félreírás, a legújabb verzióban azt a függvényt kell alkalmazni.
Szerk.: A felsõ hozzászólásomat javítottam, az str nevû karakterláncot azért hoztam létre, hogy csináljak valami üzentet is, hogy XY IP-je törölve lett, de mivel elfelejtettem, inkább kiszedtem belõle :D