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

Wysłany: 2014-06-17, 10:01


monio







Wiek: 30
Na forum: 4887 dni
Posty: 319
Nick w MP: Monio99

Piwa: 3565

Respekt: 120,5
Respekt: 120,5

Witajcie uczac si? sql napotka?em 1 b??d a, ?e jestem jeszcze zielony w mysql to kieruje pytanie do was:


handler mysql_connect(SQL_HOSTSQL_USERSQL_PASSSQL_NAMEBAZA)


a b??d to:

Kod:

ERROR:................ attempt co call global 'mysql_connect' (a nil value)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-06-17, 10:44


Piorun







Wiek: 32
Na forum: 6712 dni
Posty: 1837
Nick w MP: Piorun

Piwa: 516

Respekt: 480,7
Respekt: 480,7

Zainstalowa?e? modul MySQL? Swoj? drog? odradzam u?ywania tej funkcji poniewa? jak wspomnia? Wielebny gdzie? mo?na ?atwo narobi? bajzlu w bazie. Lepiej korzysta? z funkcji ju? zaimplementowanych do MTA czyli tych:


Więcej informacji znajdziesz w Wikipedii MTA:

Server_Scripting_Functions#SQL_functions


Podpis
Możesz mnie znaleźć na: Facebook
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-06-17, 10:52


monio







Wiek: 30
Na forum: 4887 dni
Posty: 319
Nick w MP: Monio99

Piwa: 3565

Respekt: 120,5
Respekt: 120,5

chodzi Ci o to ??
dbConnect string databaseTypestring host [, string username ""string password ""string options "" ] )


i chyba zainstalowa?em zrobi?em forlder modules w deathmath'u wgra?em tam plik:
mta_mysql.dll i mtaserver.conf wklei?em to:
Kod:

<module src="mta_mysql.dll" />



tylko np jak por?wnuje to z xyzzyrp to tam jest folder: shema a w nim jest:

Kod:

xyzzyrp.sql
i ja tego nie posiadam i nwm czy to potrzebne czy nie hmm

[ Dodano: 2014-06-17, 11:14 ]
upora?em si? z tym lecz teraz mam b??d z tym

addEvent ("Logowanie"true)
addEventHandler ("Logowanie"root, 
function (loginhaslolog)
if login and haslo and log then
local md5 md5(haslo)
local zap2 dbQuery(baza"SELECT * FROM users WHERE login='"..log.."'")
if mysql_num_rows(zap2) == 0 then
if (string.len(haslo) >= and string.len(login) >= 3then
local zap1 dbQuery(baza"INSERT INTO users (login, haslo) VALUES ('"..login.."','"..md5pass.."')"local git = { success=true }
triggerClientEvent ("Zaliczamy"rootgit)
else
local haslo = { success=truekomunikat="Haslo min. /6/ znakow, login: min. /3/ znaki!"}
triggerClientEvent("onPassNO"getRootElement(), haslo)
end
else
--mysql_num_rows (konto istnieje w bazie)
local ist = { success=truekomunikat="Podane konto istnieje juz w bazie danych!" triggerClientEvent("onAccountYES"getRootElement(), ist)
end
end
end
)

a konkretnie z linijka:

if mysql_num_rows(zap2) == 0 then


Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-06-17, 12:42


Piorun







Wiek: 32
Na forum: 6712 dni
Posty: 1837
Nick w MP: Piorun

Piwa: 516

Respekt: 480,7
Respekt: 480,7

Funkcje mysql nie wsp??graj? z funkcjami db. Mianowicie zamiast mysql_num_rows uzyj dbPoll, ktory zwraca jako 3 wartosc ilosc obiektow z bazy, ktore zostaly wypisane z kwerendy.

Podpis
Możesz mnie znaleźć na: Facebook
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-06-17, 13:27


monio







Wiek: 30
Na forum: 4887 dni
Posty: 319
Nick w MP: Monio99

Piwa: 3565

Respekt: 120,5
Respekt: 120,5


addEvent ("Logowanie"true)
addEventHandler ("Logowanie"root, 
function (loginhaslolog)
if login and haslo and log then
local md5 md5(haslo)
local zap2 dbQuery(baza"SELECT * FROM users WHERE login='"..log.."'")
if dbPoll(zap20then
if (string.len(haslo) >= and string.len(login) >= 3then
local zap1 dbQuery(baza"INSERT INTO users (login, haslo) VALUES ('"..login.."','"..md5pass.."')"local git = { success=true }
triggerClientEvent ("Zaliczamy"rootgit)
else
local haslo = { success=truekomunikat="Haslo min. /6/ znakow, login: min. /3/ znaki!"}
triggerClientEvent("onPassNO"getRootElement(), haslo)
end
else
local ist = { success=truekomunikat="Podane konto istnieje juz w bazie danych!" triggerClientEvent("onAccountYES"getRootElement(), ist)
end
end
end
)

addEvent ("Rejestracja"true)
addEventHandler ("Rejestracja"root,
function (regloghasreglog)
if reglog and hasreg and log then
local md5pass md5(hasreg)
local zap dbQuery (baza"SELECT * FROM users WHERE login='"..log.."' AND haslo='"..md5pass.."'")
if zap then
if dbPoll (zap1then
local git = {success true}
triggerClientEvent ("ZalogowanoPoprawnie"rootgit)
else
git2 = {success=truekomunikat="Podano niepoprawne dane!. Sprobuj jeszcze Raz"}
triggerClientEvent ("BladLog"rootgit2)
end
end
end
end
)


Brak b??d?w w db 3 i nie dzia?? ;(

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-06-17, 14:14


MeeShuffle

Programista/Grafik






Wiek: 32
Na forum: 4394 dni
Posty: 2758
Nick w MP: Shuffle

Piwa: 8575

Respekt: 535,3
Respekt: 535,3

Ja osobi?cie u?ywam dbConnect, jednak zamiast dbQuery polecam zrobienie Sobie to w mojej postaci :

function pobierzRekord(...)
 local query=dbQuery(polaczenie, ...)
 if not query then
  return nil
 end
 local res=dbPoll(query, -1)
 if not res then return end
 return res[1]
end


Podpis

https://shufflecode.pl
Static Codes and Graphics - Join our discord!
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-06-17, 14:51


monio







Wiek: 30
Na forum: 4887 dni
Posty: 319
Nick w MP: Monio99

Piwa: 3565

Respekt: 120,5
Respekt: 120,5

ale ja jestem po??czony z baz? juz. Chodzi oto ?e tak jak by fcja si? nie wykonywa?a

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-06-17, 15:09


MeeShuffle

Programista/Grafik






Wiek: 32
Na forum: 4394 dni
Posty: 2758
Nick w MP: Shuffle

Piwa: 8575

Respekt: 535,3
Respekt: 535,3

monio, umie?? przed i po ka?dym warunku outputDebugString i sprawd? gdzie kod si? zatrzyma?.

Podpis

https://shufflecode.pl
Static Codes and Graphics - Join our discord!
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-06-17, 15:20


monio







Wiek: 30
Na forum: 4887 dni
Posty: 319
Nick w MP: Monio99

Piwa: 3565

Respekt: 120,5
Respekt: 120,5

thx juz sprawdzam

[ Dodano: 2014-06-17, 15:31 ]

if dbPoll (zap1then
local git = {success true}
triggerClientEvent ("ZalogowanoPoprawnie"rootgit)
else
git2 = {success=truekomunikat="Podano niepoprawne dane!. Sprobuj jeszcze Raz"}
triggerClientEvent ("BladLog"rootgit2)
end
end
end
end
)
od tad juz nie dzia?a ;( rejestracja

[ Dodano: 2014-06-17, 15:34 ]
if dbPoll(zap20then----- ta linijka wszystko psuje ;( w 1 i 2 kodzie
if (string.len(haslo) >= and string.len(login) >= 3then
local zap1 dbQuery(baza"INSERT INTO users (login, haslo) VALUES ('"..login.."','"..md5pass.."')"local git = { success=true }
triggerClientEvent ("Zaliczamy"rootgit)
else
local haslo = { success=truekomunikat="Haslo min. /6/ znakow, login: min. /3/ znaki!"}
triggerClientEvent("onPassNO"getRootElement(), haslo)
end
else
local ist = { success=truekomunikat="Podane konto istnieje juz w bazie danych!" triggerClientEvent("onAccountYES"getRootElement(), ist)


if dbPoll(zap20then
----- ta linijka wszystko psuje ;( w 1 i 2 kodzie

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-06-17, 20:27


Wielebny







Wiek: 41
Na forum: 5499 dni
Posty: 257
Nick w MP: Wielebny

Piwa: 1690

Respekt: 180
Respekt: 180Respekt: 180

Zas?b wymieniony w p.3 tu: http://www.gtao.pl/pobier...9486.htm#559525 to wrapper do funkcji db..., rozwa? u?ycie go, w podlinkowanym po?cie masz te? przyk?ad u?ycia.

A module mta_mysql i funkcjach mysql_... zapomnij.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-06-17, 21:39


monio







Wiek: 30
Na forum: 4887 dni
Posty: 319
Nick w MP: Monio99

Piwa: 3565

Respekt: 120,5
Respekt: 120,5

Wi?c teraz pr?bowa?em co? sam napisac z Wiki i czy to jest dobrze:


addEvent("Rejestracja",trueaddEventHandler("Rejestracja"root, 
function (loginhaslolog)
if login and haslo then
konto dbQuery (baza"SELECT * FROM users WHERE login=""..login..""")
local oficlaj dbPoll (konto0)
if string.len(login) >= and string.len(haslo) >= 6 then
local dodajkonto dbQuery (baz"INSERT INTO users VALUES (login, haslo)""login""haslo")
exports.informacje:pokazInfo ("info""Twoje konto zostalo stworzone")
else
exports.informacje:pokazInfo ("info""Podales za krotkie Haslo lub Login")
end
else
exports.informacje:pokazInfo ("info""Takie Konto juz istnienie")
end
end
)


[ Dodano: 2014-06-17, 21:43 ]
wiem, ?e to teoretycznie dzia?a i chcia?bym si? zapyta? czy tak powinno by?, ?e w tabeli login mam haslo a w tabeli haslo jakies cyferki

[ Dodano: 2014-06-17, 21:57 ]
i co chwile mam b??d z t? linijk? przed chwil? tworzy?o konta a teraz ta linjka nawali?a a nic nie zmienia?em:

konto dbQuery (baza"SELECT * FROM users WHERE login=""..login..""")


Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-06-18, 06:23


Wielebny







Wiek: 41
Na forum: 5499 dni
Posty: 257
Nick w MP: Wielebny

Piwa: 1690

Respekt: 180
Respekt: 180Respekt: 180

"monio" napisał/a:


[ Dodano: 2014-06-17, 21:57 ]
i co chwile mam b??d z t? linijk? przed chwil? tworzy?o konta a teraz ta linjka nawali?a a nic nie zmienia?em:

konto dbQuery (baza"SELECT * FROM users WHERE login=""..login..""")


Za du?o cudzys?ow?w tam masz.
Poza tym, nie powiniene? wstawia? w ten spos?b zmiennych do zapytania, gdy? umo?lwia to atak sql injection na Twoj? baz?. Prawid?owy spos?b to:

dbQuery (baza"SELECT * FROM users WHERE login=?"login)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-06-18, 10:00


monio







Wiek: 30
Na forum: 4887 dni
Posty: 319
Nick w MP: Monio99

Piwa: 3565

Respekt: 120,5
Respekt: 120,5

Dzi?ki Wielebny to mi pomog?o po uzupe?nieniu edit box tworzy konto lecz w bazie dodaje kolumny ale nie pokazuje hasla ani loginu ;(

[ Dodano: 2014-06-18, 10:39 ]

addEvent ("Logowanie"true)
addEventHandler ("Logowanie"root, 
function (loginhaslo)
if login and haslo then
konto dbQuery (baza"SELECT * FROM users WHERE login=? and haslo=?"login and haslo)
if konto then
if string.len(login) >= 5 then
kontko dbPoll (konto1)
triggerClientEvent ("TAK"rootlocalPlayer)
else
exports.informacje:pokazInfo ("info""Bledny login lub haslo")
end
end
end
end
)


i tak wygl?da logowanie lecz nie dzia?a :(

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-06-18, 22:30


MeeShuffle

Programista/Grafik






Wiek: 32
Na forum: 4394 dni
Posty: 2758
Nick w MP: Shuffle

Piwa: 8575

Respekt: 535,3
Respekt: 535,3

konto = dbQuery (baza, "SELECT * FROM users WHERE login=? and haslo=?", login and haslo)


zamiast and dawaj przecinki.

Podpis

https://shufflecode.pl
Static Codes and Graphics - Join our discord!
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-06-19, 03:55


Wielebny







Wiek: 41
Na forum: 5499 dni
Posty: 257
Nick w MP: Wielebny

Piwa: 1690

Respekt: 180
Respekt: 180Respekt: 180

Sk?d Wam w og?le do g?owy przysz?o aby tam wstawia? and zamiast przecinka?

Postaw piwo autorowi tego posta
 

 
Tagi: sql
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