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

Wysłany: 2020-10-31, 20:41


Szyszka947

ASP NET Core / Lua






Wiek: 19
Na forum: 2579 dni
Posty: 288

Piwa: 16

Respekt: 90

Witam. Jest linijka pobieraj?ca UserName z bazy danych, wszystko git:

local getUserNameFromDb exports["db_connect"]:query("SELECT UserName FROM Users WHERE UserName='"..username.."'"true)

Natomiast, gdy chce pobrac password

local getPasswordFromDb exports["db_connect"]:query("SELECT Password FROM Users WHERE UserName='"..username.."'"true)

to nagle zwraca mi jakie? table: cyferki. Dlaczeego?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-10-31, 20:55


Wilq







Wiek: 24
Na forum: 4428 dni
Posty: 3410

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

Poka? co Ci zwraca, mo?e to po prostu masz w bazie. Poka? te? funkcj? 'query'.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-10-31, 21:54


Szyszka947

ASP NET Core / Lua






Wiek: 19
Na forum: 2579 dni
Posty: 288

Piwa: 16

Respekt: 90

w bazie danych mam UserName: "aaaa" oraz Password "dddd". Zwraca tabele, bior? j? w tostring() i wychodzi: "table: losowecyferki". Gdy robie getPasswordFromDb[1] to wychodzi to samo. Funkcja query:

function query(q,response)
    if not q then return end
    if response == true then
        local action dbQuery(connect,q)
        local result dbPoll(action,-1)
        if result and result[1then
            return result
        else
            return false
        end
    elseif response == false then
        d.b.E.x.e.c(connect,q)
    end
end

Kropki w dbExec, bo blokuje wyslanie wiadomosci

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-11-01, 19:41


Wilq







Wiek: 24
Na forum: 4428 dni
Posty: 3410

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

No jak bierzesz tabel? w tostring to du?o nie dostaniesz. Poka? co Ci zwraca za ka?dym razem, zdj?cia cokolwiek.

R?b odwo?anie do 1 warto?ci, mo?esz tak?e zarzuci?
inspect(getPasswordFromDb)

oraz to samo dla tej warto?ci co rzekomo dzia?a. Poka? co b?dzie w konsoli.

Mo?esz te?:
outputConsole(getPasswordFromDb[1])

i poka? co w konsoli.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-11-01, 20:17


Szyszka947

ASP NET Core / Lua






Wiek: 19
Na forum: 2579 dni
Posty: 288

Piwa: 16

Respekt: 90

Zrobi?em outputConsole(inspect(getPasswordFromDb))
daje mi to:
Kod:


{ {
Password = "e"
} }

Czyli generalnie git, bo password jest r?wne "e".
Tu s? te dwie linijki pobieraj?ce username i password:

local getUserNameFromDb exports["db_connect"]:query("SELECT UserName FROM Users WHERE UserName='"..username.."'"true)
    local getPasswordFromDb exports["db_connect"]:query("SELECT Password FROM Users WHERE UserName='"..username.."'"true)

Gdy zrobie outputChatBox(getUserNameFromDb) to wszystko wy?wietla si? dobrze, w tym przypadku te? jest to "e". Natomiast kiedy zrobie to samo z getPasswordFromDb, wyskakuje, ?e oczekuje stringa, dosta?o tabele. Wi?c daje to w to string i wychodzi np.:
Kod:


table: 06327BB8

Wiem, ?e to g?upie, no ale da?em w ten tostring xd. Ale kurde, ten Password, to nie jest ?adna tabela. Tak jest tworzona tabela Users:

function connectAndCreateSchema()
    if connect then
        outputDebugString("Po??czono z baz? danych.");
        query("CREATE TABLE IF NOT EXISTS Users (Id INTEGER NOT NULL AUTO_INCREMENT, UserName varchar(22) NOT NULL, Password varchar(255) NOT NULL, Level INTEGER NOT NULL, Rank INTEGER, PRIMARY KEY(Id))"false)
    else
        outputDebugString("Nie uda?o si? nawi?za? po??czenia z baz? danych.")
    end
end
addEventHandler("onResourceStart"getRootElement(), connectAndCreateSchema)

No, jak wida? varchar, tak samo jak UserName. Z dodawaniem do bazy danych passworda nie ma raczej problemu, bo po dodaniu go r?cznie jest ten sam b??d.

Ostatnio zmieniony przez Szyszka947 2020-11-02, 08:14, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-11-01, 21:49


Wilq







Wiek: 24
Na forum: 4428 dni
Posty: 3410

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

Poka? wynik dla
outputChatBox(getPasswordFromDb[1])


Dziwne, bo query zwraca Ci ca?? tabel? z warto?ciami, na wz?r:
{ "has?o1", "has?o2" } itd.

Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
Szyszka947
Wysłany: 2020-11-01, 21:55


Szyszka947

ASP NET Core / Lua






Wiek: 19
Na forum: 2579 dni
Posty: 288

Piwa: 16

Respekt: 90

Takie co? daje mi:
Kod:


WARNING: [resources]\login_panel\login_s.lua:19: Bad argument @ 'outputChatBox' [Expected string at argument 1, got table]

A gdy zrobie:
outputChatBox(tostring(getPasswordFromDb[1]))
dostaj?
Kod:


table: 060C3F58


[ Dodano: 2020-11-02, 10:59 ]
dzi?ki, do zamkni?cia.

Postaw piwo autorowi tego posta
 

 
Tagi: select :: where
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