Wysłany: 2013-09-26, 16:36
vipSEBOvip
A poor begginer
Wiek: 26 Na forum: 5178 dni Posty: 597
Nick w MP: xSebaPL
Piwa : 77
Witajcie, mam pewien problem, kt?ry ju? nie raz napotka?em, ale dalej go naprawi? nie potrafi?. Ot?? mysql_query nie zwraca resulta:
local isKonto = mysql_query ( SQL , "SELECT * FROM Konto WHERE Login='" .. login .. "'" )
if ( mysql_num_rows ( isKonto ) > 0 ) then
W mysql_num_rows wyskakuje ?e mysqlResult expected, got nil.
Ostatnio zmieniony przez vipSEBOvip 2013-09-26, 17:57, w całości zmieniany 1 raz
Wysłany: 2013-09-26, 17:50
Tostuch
Wiek: 27 Na forum: 4931 dni Posty: 483
Nick w MP: Tost
Piwa : 137
Nie specjalizuje si? w mysql ale mo?e zamie? isKonto na jestKonto?
Wysłany: 2013-09-27, 10:07
Piorun
Wiek: 32 Na forum: 6712 dni Posty: 1837
Nick w MP: Piorun
Piwa : 516
Tostuch , nie, to nic nie zmieni.
Poka? co masz pod zmienn? "SQL" ?
Wysłany: 2013-09-28, 12:42
vipSEBOvip
A poor begginer
Wiek: 26 Na forum: 5178 dni Posty: 597
Nick w MP: xSebaPL
Piwa : 77
Z po??czeniem jest wszystko ok, zrobi?em tak:
function zarejestruj ( login , password )
outputDebugString ( "SQL zwraca " .. tostring ( SQL ))
local isKonto = mysql_query ( SQL , "SELECT * FROM Konto WHERE Login='" .. login .. "'" )
if ( isKonto ) then
if ( mysql_num_rows ( isKonto ) > 0 ) then
triggerClientEvent ( source , "onClientUtworz" , getRootElement (), false , "Jest ju? takie konto w bazie danych." )
return
end
local dodajKonto = mysql_query ( SQL , "INSERT INTO Konto SET Login='" .. login .. "' and Haslo='" .. password .. "'" )
triggerClientEvent ( source , "onClientUtworz" , getRootElement (), true )
else
outputDebugString ( "isKonto zwraca " .. tostring ( isKonto ))
end
end
addEvent ( "onZarejestruj" , true )
addEventHandler ( "onZarejestruj" , getRootElement (), zarejestruj )
i zwraca
INFO: SQL zwraca MySQL handler (#20)
INFO: isKonto zwraca nil
Wysłany: 2013-09-28, 13:25
Piorun
Wiek: 32 Na forum: 6712 dni Posty: 1837
Nick w MP: Piorun
Piwa : 516
Takie co?:
outputDebugString ( "mysql_query failed: (" .. mysql_errno ( isKonto ) .. ") " .. mysql_error ( isKonto ))
wklej w miejscu
Cytat: outputDebugString("isKonto zwraca"..tostring(isKonto))
Po prostu to zamie?, zrestartuj kod i wy?wietl co ci wyskoczy?o w Debugu. Druga sprawa - sprawd? czy przypadkiem zmienne login i password zawieraj? to czego oczekujesz (gdzie? tam na pocz?tku dodaj output'a jakiego? by sprawdzi?). Sprawd? czy kolumna "Login" istnieje w bazie. By? mo?e jest napisana z ma?ej litery i powstaje bajzel.
Wysłany: 2013-09-28, 20:06
vipSEBOvip
A poor begginer
Wiek: 26 Na forum: 5178 dni Posty: 597
Nick w MP: xSebaPL
Piwa : 77
Login i has?o s? poprawne, ale:
ERROR: CHT-PanelLogowania/s_panellogowania.lua:50: bad argument #1 to 'mysql_errno' (mysqlHandler expected, got nil)
Wysłany: 2013-09-28, 23:44
Piorun
Wiek: 32 Na forum: 6712 dni Posty: 1837
Nick w MP: Piorun
Piwa : 516
No tak, moja pami?? czasami zawodzi. Zamiast "isKonto" wklej "SQL". Z?y kod Ci poda?em dlatego nie wy?wietli? b??d?w z bazy lecz ze skryptu.
Wysłany: 2013-09-29, 13:48
vipSEBOvip
A poor begginer
Wiek: 26 Na forum: 5178 dni Posty: 597
Nick w MP: xSebaPL
Piwa : 77
Ok, jest taki b??d:
mysql_query failed: (1146) Table 'db_3630.Konto' doesn't exist
Wysłany: 2013-09-29, 15:37
Piorun
Wiek: 32 Na forum: 6712 dni Posty: 1837
Nick w MP: Piorun
Piwa : 516
Nie ma tabeli "Konto" w bazie. Mo?e napisana jest z ma?ej litery?
Wysłany: 2013-09-29, 18:44
vipSEBOvip
A poor begginer
Wiek: 26 Na forum: 5178 dni Posty: 597
Nick w MP: xSebaPL
Piwa : 77
Oks, to ju? zrobione.
Ale dlaczego ten kod:
mysql : query ( "INSERT INTO Konto SET Login='" .. login .. "' and Haslo='" .. password .. "'" )
ustawia Login='0' i Haslo=' ' ?
Wysłany: 2013-09-30, 14:17
Riot
3X
Wiek: 29 Na forum: 5729 dni Posty: 1123
Nick w MP: Riot/3X
Piwa : 286
Spr?buj AND zamiast and
btw. korzystaj z kodowania i fajnie by?oby u?y? mysql_escape_string
Wysłany: 2013-09-30, 17:01
vipSEBOvip
A poor begginer
Wiek: 26 Na forum: 5178 dni Posty: 597
Nick w MP: xSebaPL
Piwa : 77
Ziomek11 napisał/a :btw. korzystaj z kodowania
Pami?tam o kodowaniu ale najpierw chcia?em sprawdzi? czy kod dzia?a prawid?owo.
Ziomek11 napisał/a :
A do czego to s?u?y ?
Wysłany: 2013-09-30, 17:54
Riot
3X
Wiek: 29 Na forum: 5729 dni Posty: 1123
Nick w MP: Riot/3X
Piwa : 286
Funkcja dodaje znaki do zapyta?. Tak na prawd?, kto? poinformowany m?g?by w banalny spos?b rozwali? Ci baz? danych za pomoc? ataku SQL Injection. TAK! Ma?o kto nawet o tym wie...;)
Cytat: Escapes a query string to avoid sql injection attacks. This function should be used for every executed query that uses any data given by the players.
Warto doda? gdy do bazy dajesz jakie? dane od gracza - przyk?adowo takie logowanie
Wysłany: 2013-09-30, 20:18
vipSEBOvip
A poor begginer
Wiek: 26 Na forum: 5178 dni Posty: 597
Nick w MP: xSebaPL
Piwa : 77
Zamiana and na AND nic nie da?a. Dalej pokazuje si? '0' i ' '
Wysłany: 2013-10-01, 16:06
Brzysiek
Skrypter pralek
Wiek: 27 Na forum: 5199 dni Posty: 488
Nick w MP: Brzysiek
Piwa : 1034
Jakie dane wysy?asz do tego triggera ze strony clienta? Poka? je.
Tagi: mysql_query :: nie :: zwraca :: resulta
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: