-
Sziasztok!
A helyzet, a dbQuery(...) alap MySQL cuccot használnám de megakadtam, a kérdésem a következő hogy tudom lekérdezni az adott account adatainak a mezőértékeit. Lásd:
Adatbázisban az accounts táblám struktúrája:
uid (int) (AI)
username (text)
password (text)
utolsoip (text)
serial (text)
Szóóval,, hogy pontosabb legyek azt akarom lekérdezni hogy létező felhasználó (haigen) akkor, betölti \"serial\" és \"utolsoip\"-t valami változóba mentsem el, mint samp alatt. Igen ez egy bejelentkezés!!!!444!!!
A kódom:
addEventHandler(\"loginolas\", getRootElement(),
function (felhasznalo, jelszo)
local felhnev, banned, banned_by, banned_reason, admin, result, uid = nil
local qh = dbQuery(sql, \"SELECT * FROM accounts WHERE username = ? AND password = ?\",felhasznalo, md5(jelszo))
result = dbPoll ( qh, -1 )
dbFree( qh )
-- ide kéne valami fetch-es mysql cucc!
end
);
-
Semmiképp se használ -1 dbPoll-t, a Wiki érthetően leírja hogy ez sokkal több erőforrást fog igénybe venni, és addig befagyasztja a szervert amíg nem kap választ a mysql szervertől. Megírtam a kódot, elméletileg működésképes
addEventHandler(\"loginolas\", getRootElement(), function(felhasznalo, jelszo)
dbQuery(function(handler, client, jelszo)
local result, rows, err = dbPoll(qh, 0)
if rows > 0 then
local data = result[1]
local pw = data.password
if pw ~= jelszo then
outputChatBox(\"Hibás jelszó.\", client)
return
end
outputChatBox(\"Minden oké, be lehet tölteni a dolgokat.\", client)
outputChatBox(\"Felhasználó ID: \".. data.uid, client)
outputChatBox(\"Serial: \".. data.serial, client)
outputChatBox(\"Utolsó IP címed: \".. data.utolsoip, client)
else
outputChatBox(\"Nincs ilyen felhasználó.\", client)
end
end, {client, jelszo}, sql, \"SELECT * FROM accounts WHERE username = ?\", felhasznalo)
end)
-
Köszönöm a segítséget és a kódot viszont további kérdéseim születtek így:
local result, rows, err = dbPoll(qh, 0)
if rows > 0 then
local data = result[1]
a data = result[1](gondolom azért 1 mert az első találat adatait kérdezi le) akkor megfelel a fetch-es mysql cucclival, illetve a dbPoll pedig a mysql_numssal? A másik pedig az hogy:
end, {client, jelszo}, sql, \"SELECT * FROM accounts WHERE username = ?\", felhasznalo)
a többit értem csak a végét nem értem mit takar az a {client, jelszo} és az sql lekérés hiszen a feletti end lezárja. de utána nincs dbQuery()
-
Átküldi a paramétereket a callbacknek
https://wiki.multitheftauto.com/wiki/DbQuery