Skocz do zawartości

Rekomendowane odpowiedzi

Cześć, mam kolejny problem z panelem logowania. :wacko:

 

 

 

Problem 1

[2014-05-02 23:35:07] ERROR: Register/register_s.lua:28: bad argument #1 to 'mysql_result' (mysqlResult expected, got string)
[2014-05-02 23:35:06] ERROR: Register/register_s.lua:54: bad argument #1 to 'mysql_fetch_assoc' (mysqlResult expected, got string)

Plik register_s.lua

 

Linijki 25 - 45

function AccountRegister ( player, user, pass )
    local result = exports['db']:query("SELECT * FROM `mta_accounts` WHERE `name` = '"..user.."' LIMIT 1")
    if ( result ) then
        mysql_result( result, 1, 0)
        if mysql_num_rows( result ) == 1 then
            triggerClientEvent ( player, "SendErrorMessage", getRootElement(), "Konto o podanym nicku już istnieje, Zaloguj się.")
        else
            if( string.len(pass) >= 6 and string.len(pass) <= 20 ) then
                pass = md5(salt .. pass)
                local password = mysql_escape_string(handler, pass)
                triggerClientEvent ( player, "SendErrorMessage", getRootElement(), "Rejestracja zakończona pomyślnie, możesz się zalogować.")
                exports['db']:query("INSERT INTO `mta_accounts` (`name`, `password`, `date_register`) VALUES ('"..user.."', '"..password.."', NOW())")
            else
                triggerClientEvent ( player, "SendErrorMessage", getRootElement(), "Hasło musi posiadać od 6 do 20 znakwów!")
            end
        end
        mysql_free_result( result )
    end
end
addEvent( "AccountRegister", true )
addEventHandler( "AccountRegister", getRootElement(), AccountRegister )

Linijki 47-66

function AccountLogin ( player, user, pass )
    local password = md5(salt .. pass)
    local account, result = nil
    
    result = exports['db']:query("SELECT * FROM `mta_accounts` WHERE `name` = '"..user.."' LIMIT 1")
    
    if ( result ) then
        account = mysql_fetch_assoc( result )
        mysql_free_result(    result )    

        if ( account["password"] == password ) then
            setElementData ( player, "logged", true )
        else
            triggerClientEvent ( player, "SendErrorMessage", getRootElement(), "Wpisane hasło jest nieprawidłowe, spróbuj ponownie.")
        end
        mysql_free_result(result)
    end
end
addEvent( "AccountLogin", true )
addEventHandler( "AccountLogin", getRootElement(), AccountLogin )

Plik db.lua (folder DB)

local Handle = nil

addEventHandler ( "onResourceStart", getRootElement(),
    function()
        Handle = mysql_connect("***", "***", "***", "***")
        end
    end
)

function query( ... )
    return mysql_query(Handle, tostring(...))
end

Plik meta.xml (Folder DB)

<meta>
    <script src="db.lua" type="server" />
    <export function="query" type="server" />
</meta>

Wytłumaczy ktoś co tu jest źle zrobione? Od wczoraj się z tym męczę. :angry:

 

 

Problem 2

 

Do mysql używam modułu MTA-MYSQL i co kilka(/naście) minut rozłącza mi połączenie, co może być przyczyną?

 

Moduł: https://wiki.multitheftauto.com/wiki/Modules/MTA-MySQL

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ę.

×