Skocz do zawartości
Patro114

Proszę o pomoc wczytywanie mySQL

Rekomendowane odpowiedzi

Witam, chciałbym wczytać pojazdy z mysql, czyli stworzyć pojazd w pobranych wartościach z bazy danych mySQL, oraz zmienić kolor lamp, zrobiłem coś takiego i mam taki błąd:

 

addEventHandler("onResourceStart", resourceRoot,
	    function(resource)
	        handler = mysql_connect("mysql-ols1.ServerProject.pl","db_16332","[niewazne]","db_16332")
	        if (handler) then
	            outputDebugString("Odpalono zasób i połączono z bazą danych " .. getResourceName(resource) .. ", wersja: " .. SCRIPT_VERSION)
	            mysql_query(handler, "CREATE TABLE IF NOT EXISTS Gracze (Nick VARCHAR(40) NOT NULL, Haslo VARCHAR(40), Kasa INT(10))")
	            mysql_query(handler, "CREATE TABLE IF NOT EXISTS Pojazdy (Model INT(10) NOT NULL, PozycjaX FLOAT(10) NOT NULL, PozycjaY FLOAT(10) NOT NULL, PozycjaZ FLOAT(10) NOT NULL, PozycjaR FLOAT(10) NOT NULL, SRed INT(10) NOT NULL, SGreen INT(10) NOT NULL, SBlue INT(10) NOT NULL)")
	            local result = mysql_query(handler, "SELECT Model,PozycjaX,PozycjaY,PozycjaZ,PozycjaR,SRed,SGreen,SBlue FROM Pojazdy")
	            for _,v in ipairs(result) do
	            local createcar = createVehicle(v.Model, v.PozycjaX, v.PozycjaY, v.PozycjaZ, 0, 0, v.PozycjaR)
	            local colorswiatel = setVehicleHeadLightColor(createcar, v.SRed, v.SGreen, v.SBlue)
	        end
	        else
	        mysql_close(handler)
	        outputDebugString("Niepołączono z mysql")
	end
	end)

 

Mój błąd to:

[2016-04-08 11:17:47] ERROR: [gamemodes]\PierwszyTruck\Truck.lua:94: bad argument #1 to 'ipairs' (table expected, got userdata)

 

Linijka błędu:

 

for _,v in ipairs(result) do

 

Proszę o wskazanie czy dobrze się za to zabieram i pomoc z tym argumentem.. nie wiem co tu mam zrobić.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

1. mysql_query nie zwraca gotowej tabelki, a jedynie 'handler' zapytania, który trzeba jeszcze do tabelki sprowadzić (https://wiki.multitheftauto.com/wiki/Modules/MTA-MySQL/mysql_fetch_assoc https://wiki.multitheftauto.com/wiki/Modules/MTA-MySQL/mysql_query). Tak poza tym polecam przejść na funkcję MTA, gdyż moduł mysql jest dość zawodny i raczej już nieużywany, a na pewno niepolecany.
2. Pętla for nie jest zamknięta (brak 'end').

Edytowane przez szymex

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×