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

Wysłany: 2019-02-19, 14:36


Butieee







Wiek: 23
Na forum: 3031 dni
Posty: 23
Nick w MP: Butieee



Respekt: 50

Mam problem z zapisywaniem broni w mysql


bazaPolaczenie dbConnect("mysql""dbname=;host=""","","share=1")
if bazaPolaczenie then
    outputDebugString ('Po??czono z baz? danych!')
else
    outputDebugString ("Po??czenie z baz? danych jest nie mo?liwe!")
end

function zapiszBron ()
    local serial getPlayerSerial source )
    local bron getPedWeapon source )
    local amunijca getWeaponAmmo source )
    local bazaRezultat =  mysql_query(bazaPolaczenie"SELECT * FROM zapisbroni WHERE serial=?")
    if(mysql_num_rows(bazaRezultat) == 0then
        mysql_querybazaPolaczenie"INSERT INTO zapisbroni (serial, bron, amunicja) VALUES (?,NOW())" )
    else
        res mysql_query bazaPolaczenie"UPDATE zapisbroni SET bron=?, amunicja=? WHERE serial=?")
    end
end

function zaladujBron ()
    local serial getPlayerSerial source )
    local bazaRezultat mysql_query bazaPolaczenie ,"SELECT * FROM zapisbroni WHERE serial=?")
    if bazaRezultat then
        while true do
            local kolumna mysql_fetch_assoc(bazaRezultat)
            if not kolumna then break end
            giveWeapon sourcekolumna.bron)
            setWeaponAmmo sourcekolumna.amunicja )
            break
        end
    end
end
addEventHandler "onPlayerJoin"getRootElement(), zaladujBron )
addEventHandler "onPlayerQuit"getRootElement(), zapiszBron )

tak wygl?da kod kt?rego u?ywam
w mysql mam tabele o nazwie zapisbroni i struktura tej tabeli wygl?da tak:
Nazwa | typ | Metoda por?wnywania napis?w
serial | text | utf8mb4_polish_ci
bron | int(11) |
amunicja | int(11) |

Prosz? o zmienienie kodu lub o wyt?umaczenie co robi? ?le z g?ry dzi?ki za pomoc

Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-02-20, 00:40


Kuks*







Wiek: 15
Na forum: 3030 dni
Posty: 246
Nick w MP: Kuks*

Piwa: 2208

Respekt: 115,8
Respekt: 115,8

Nie poda?e? warto?ci.
Np:
zamiast local bazaRezultat = mysql_query ( bazaPolaczenie ,"SELECT * FROM zapisbroni WHERE serial=?")

daj
local bazaRezultat = mysql_query ( bazaPolaczenie ,"SELECT * FROM zapisbroni WHERE serial=?", serial)
I w ka?dym zapytaniu podaj argumenty, kt?re maj? by? wprowadzone do mysql

Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-02-20, 15:24


Butieee







Wiek: 23
Na forum: 3031 dni
Posty: 23
Nick w MP: Butieee



Respekt: 50

"Kuks*" napisał/a:


I w ka?dym zapytaniu podaj argumenty, kt?re maj? by? wprowadzone do mysql

Jakie argumenty i gdzie je wstawi?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-02-20, 20:48


Gravgor







Wiek: 22
Na forum: 3619 dni
Posty: 380
Nick w MP: 1944

Piwa: 702

Respekt: 57,8

function zapiszBron ()
    local serial getPlayerSerial source )
    local bron getPedWeapon source )
    local amunijca getWeaponAmmo source )
    local bazaRezultat =  mysql_query(bazaPolaczenie"SELECT * FROM zapisbroni WHERE serial=?"serial)
    if(mysql_num_rows(bazaRezultat) == 0then
        mysql_querybazaPolaczenie"INSERT INTO zapisbroni (serial, bron, amunicja) VALUES (?,?,?)"serialbronamunijca)
    else
        res mysql_query bazaPolaczenie"UPDATE zapisbroni SET bron=?, amunicja=? WHERE serial=?"serialbronamunijca)
    end
end

function zaladujBron ()
    local serial getPlayerSerial source )
    local bazaRezultat mysql_query bazaPolaczenie ,"SELECT * FROM zapisbroni WHERE serial=?"serial)
    if bazaRezultat then
        while true do
            local kolumna mysql_fetch_assoc(bazaRezultat)
            if not kolumna then break end
            giveWeapon sourcekolumna.bron)
            setWeaponAmmo sourcekolumna.amunicja )
            break
        end
    end
end
addEventHandler "onPlayerJoin"getRootElement(), zaladujBron )
addEventHandler "onPlayerQuit"getRootElement(), zapiszBron )


Podpis
Portfolio marceliborowczak.me
Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-02-21, 13:38


Butieee







Wiek: 23
Na forum: 3031 dni
Posty: 23
Nick w MP: Butieee



Respekt: 50

W?a?nie zauwa?y?em ?e w konsoli wyskakuje taki b??d gdy kto? wchodzi na serwer:
ERROR: zapisbroni/s.lua:22: attempt to call global 'mysql_query' (a nil value)
a w 22 linijce kodu mam to:

local bazaRezultat mysql_query bazaPolaczenie ,"SELECT * FROM zapisbroni WHERE serial=?"serial)

I nie wiem co mam zrobi?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-02-21, 14:29


nanKy







Wiek: 22
Na forum: 3866 dni
Posty: 498
Nick w MP: nanky

Piwa: 1773

Respekt: 239
Respekt: 239Respekt: 239

Musisz wgra? modu? pod funkcje mysql_*

Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-02-21, 15:05


Butieee







Wiek: 23
Na forum: 3031 dni
Posty: 23
Nick w MP: Butieee



Respekt: 50

"nanKy" napisał/a:

Musisz wgra? modu? pod funkcje mysql_*

To znaczy? co mam zrobi?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-02-21, 15:20


Gravgor







Wiek: 22
Na forum: 3619 dni
Posty: 380
Nick w MP: 1944

Piwa: 702

Respekt: 57,8

Podpis
Portfolio marceliborowczak.me
Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-02-21, 15:27


Butieee







Wiek: 23
Na forum: 3031 dni
Posty: 23
Nick w MP: Butieee



Respekt: 50

Dobra a wi?c ten error zmieni? si? na:
ERROR: zapisbroni/s.lua:22: bad argument #1 to 'mysql_query' (mysqlHandler expected, got userdata)
i zauwa?y?em ?e przy wyj?ciu gracza te? si? pojawia b??d o taki:
ERROR: zapisbroni/s.lua:11: attempt to call global 'getWeaponAmmo' (a nil value)
a w 11 linijce mam to:

local amunijca getWeaponAmmo source )


Postaw piwo autorowi tego posta
 

 
Tagi: zapisywanie :: broni :: 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 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