Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2014-05-15, 18:28


agazur







Wiek: 30
Na forum: 4496 dni
Posty: 13
Nick w MP: agazur



Respekt: 50

Witam. Robi? panel postaci i mam pytanie jak pobra? wszystkie postacie przypisane do danego ID gracza z bazy MYSQL.

Kod:

local pobieranie_postaci = mysql_query(handler,"SELECT * FROM psl_postacie WHERE id_gracza='" ..id.. "'")
local wynik = mysql_fetch_assoc(pobieranie_postaci)

if wynik then


local pobieranie_wartosci = mysql_query(handler,"SELECT id_postaci, imie_postaci, nazwisko_postaci, kasa, score, id_frakcji, skin, data_utworzenia FROM psl_postacie WHERE id_gracza='" ..id.. "'")

local wartosc = mysql_fetch_assoc(pobieranie_wartosci)
local idpostaci = wartosc["id_postaci"]
local imie_postaci = wartosc["imie_postaci"]
local nazwisko_postaci = wartosc["nazwisko_postaci"]
local kasa = wartosc["kasa"]
local score = wartosc["score"]
local idfrakcji = wartosc["id_frakcji"]
local skin = wartosc["skin"]
local data_utworzenia = wartosc["data_utworzenia"]
outputChatBox("ID postaci: "..idpostaci..", imi?: "..imie_postaci..", nazwisko: "..nazwisko_postaci..",kasa: "..kasa..".", source)


triggerClientEvent( source, "wyszukano_postac_client", getRootElement(), idpostaci, imie_postaci, nazwisko_postaci, kasa, score, idfrakcji, skin, data_utworzenia )

else
outputChatBox("***Za??? now? posta?, aby zacz?? gr?.***", player, 255, 255, 255)
end


Chodzi mi o to, ?e za???my gracz o ID 2 ma przypisane do konta 3 postacie. Chc?, aby w skrypcie wypisa?o mi na czacie wszystkie dane (kasa, imie, nazwisko) tych 3 postaci (ka?da posta? od nowej linii).

Domy?lam si?, ?e nale?y u?y? p?tli ale poj?cia nie mam jak. Zimne piwko leci za pomoc :)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-05-16, 10:10


Wielebny







Wiek: 41
Na forum: 5499 dni
Posty: 257
Nick w MP: Wielebny

Piwa: 1690

Respekt: 180
Respekt: 180Respekt: 180

1. Przekazywanie danych takich jak id bezpo?rednio do zapytania SQL to bardzo powa?ny b??d. Osoba kt?ra to wykorzysta mo?e dokonywa? dowolne operacje na bazie danych. Dane takie powinny by? zawsze eskajpowane. Wi?cej informacji: http://pl.wikipedia.org/wiki/SQL_injection

2. Nie u?ywaj modu?u MTA-Mysql i funkcji mysql_*, s? one stare, niezbyt optymalne, nie obs?uguj? automatycznego eskajpowania danych i zwracaj? wszystkie warto?ci w typie string. Od kilku wersji MTA posiada ju? znacznie lepsze funkcje db* wolne od ww. wad.

3. Rozwa? u?ycie tego zasobu: https://github.com/lpiob/MTA-XyzzyRP/tree/master/resources/%5BXyzzyRP%5D/DB2

pobranie wymienionych przez Ciebie danych wygl?da?oby wtedy tak:


konta exports.DB2:pobierzTabeleWynikow("SELECT id_postaci,imie_postaci,nazwisko_postaci FROM psl_postacie WHERE id_gracza=?"id)
for i,v in ipairs(konta) do
 outputChatBox(string.format("%d %s %s"v.id_postaciv.imie_postaciv.nazwisko_postaci))
end


Postaw piwo autorowi tego posta
 

 
Tagi: pobieranie :: danych :: mysql
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » Pobieranie danych z MYSQL Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku