Szerző Téma: Sql kezelés  (Megtekintve 928 alkalommal)

Sql kezelés
« Dátum: 2018. Május 01. - 10:46:36 »
0
Sziasztok! Az Mta Wiki-n próbálom elemezni az sql kezelést,de így angol nyelven leírva nekem nagyon sötét,hiába fordítom le. Az összekötés,és a phpmyadmin-ban a táblák létrehozása már megvan,de tovább nem jutok. Az lenne a kérdésem,hogy lenne valaki,aki nagyon tömören és egyszerűen le tudná írni,hogy miképpen lehet lekérdezni,törölni,hozzáadni az értékeket? Sok a kérdés ezzel kapcsolatban is,szóval lehetne ebből egy rögzített poszt ,szerintem sok mindenkinek nyújtana nagy segítséget! 

Sql kezelés
« Válasz #1 Dátum: 2018. Május 03. - 08:38:05 »
0
Szia! Az alábbi parancsokkal tudod kezelni a mysql-t és annak tábláit.
 
local connection = dbConnect(típus, \"dbname=adatbázisneve;host=ip cím\", \"felhasználónév\", \"jelszó\")
 
Adatbázis típusok: sqlite, mysql <-- neked ez kell
 
dbExec(csatlakozási változó, \"Parancs\")
 
dbExec-el lehetséges táblákba rakni adatokat és azokat frissíteni
 
*csatlakozási változó: az a változó ami alatt lefuttatad a csatlakozást
 
*Parancs: Az alábbi parancsok lehetnek számodra szükségesek:
 
\"INSERT INTO tábla VALUES(?, ?, ?, ?)\", \"első sor értéke\", \"második sor értéke\", \"harmadik sor értéke\", \"negyedik sor értéke\"
 
\"UPDATE tábla SET sorneve=?\", \"első kérdőjel értéke\", \"második kérdőjel értéke\"
 
\"DELETE FROM tábla WHERE accountid = ?\", \"Kérdőjel értéke\"
 
Illetve, ha szeretnéd egy adott játékosnak az adatait megváltoztatni, akkor például accountid alapján ez lehetséges: \"UPDATE tábla WHERE accountid = ? SET sorneve = ?\", \"első kérdőjel értéke\", \"második kérdőjel értéke\"
 
 
 
dbQuery
 
dbQuery(csatlakozási változó, \"Parancs\")
 
dbQuery-vel lehet adatokat kikérni táblákból, viszont ahoz, hogy változóként használd ehez egy dbPoll-t kell használnod.
 
*Parancs: Az alábbi parancsok lehetnek a számodra szükségesek:
 
\"SELECT sorneve FROM tábla WHERE accountid = ?\", \"kérdőjel értéke\" --> Lekéri az adott sor értékét a táblából ahol megtalálja azt az accountid-t amit megadsz
 
SELECT * FROM tábla WHERE accountid = ?\", \"kérdőjel értéke\" --> Lekéri az összes sort adatait a táblából ahol megtalálja azt az accountid-t amit megadsz
 
 
 
És íme egy példa arra, hogy használhatod ezeket kódokban:
 
 

local connection = dbConnect(\"mysql\", \"dbname=test;host=127.0.0.1\", \"root\", \"\")
function loadDatas(thePlayer, data) -- adatbetöltési funkció
local accid = getElementData(thePlayer, \"accountid\") -- lekérjük az id-t elementData-ból
local query = dbPoll(dbQuery(connection, \"SELECT * FROM accounts WHERE accountid = ?\", accid), -1) -- dbQuery amelyik lekéri az összes adatot az adott accountid-vel rendelkező táblarészből
    for k, v in ipairs(query) do -- egy for ciklussal az összes értéket a \'v\' változóba töltjük
        setElementData(thePlayer, tostring(data), v[tostring(data)]) -- egy elementData-t hozunk létre melynek neve és értéke megegyezik a \'data\' változó értékével és a mysql lekérés \'data\' értékével
    end
end
addEvent(\"loadDatas\", true)
addEventHandler(\"loadDatas\", root, loadDatas)
function setDatas(thePlayer, data, value) -- adatbeállítási funkció
local accid = getElementData(thePlayer, \"accountid\") -- lekérjük a játékos accuntid-jét elementData-ból
local result, num_affected_rows, errormsg = dbPoll(dbQuery(connection, \"SELECT * FROM accounts WHERE accountid = ?\", accid),-1) -- kikeressük, hogy létezik-e ilyen id-vel táblarész
    if #num_affected_rows > 0 then -- ha a találatok száma nagyobb mint 0, akkor ez történik
        local exec = dbExec(connection, \"UPDATE accounts WHERE accountid = ? SET ? = ?\", accid, data, value) -- Felülírjuk a meglévő adatot
    else -- ha nem, akkor pedig az alábbi
        local exec = dbExec(connection, \"INSERT INTO accounts SET ? = ?\", data, value) -- létrehozunk egy táblarészt
    end
end
addEvent(\"setDatas\", true)
addEventHandler(\"setDatas\", root, setDatas)
 
« Utoljára szerkesztve: 2018. Május 03. - 13:39:02 írta HDmaster0702 »

Sql kezelés
« Válasz #2 Dátum: 2018. Május 03. - 22:12:21 »
0
Köszönjük szépen :) 

Sql kezelés
« Válasz #3 Dátum: 2018. Május 08. - 17:00:15 »
0
Nincs mit! ;)

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal