Guten Tag,
Und zwar versuche ich ein Register zu machen und ich will abfragen ob der Name bereits in der Datenbank existiert und mein Code sieht folgendermaßen aus
function register_func ( client,cmd, benutzername, passwort )
if not isElement(client) then return end
local result = mysql_query(handler,"SELECT * FROM userdata WHERE Benutzername = '"..benutzername.."'")
if result then
while true do
local row = mysql_fetch_row(result)
if (not row) then
local pw = md5(passwort)
local serial = getPlayerSerial(client)
local sql = mysql_query(handler,"INSERT INTO `userdata` (`Benutzername`,`Passwort`,`Serial`) VALUES ('"..benutzername.."','"..pw.."','"..serial.."')")
if sql then
setPlayerName(client,benutzername)
outputChatBox("Du hast dich erfolgreich registriert!",player,0,150,0)
end
mysql_free_result(sql)
break
else
outputChatBox("Dieser Benutzername ist bereits vergeben!",client,150,0,0)
end
mysql_free_result(row)
end
end
mysql_free_result(result)
end
addCommandHandler("registerPlayer",register_func)
Alles anzeigen
Und folgender Error kommt: reallife\register_login\register_login_server.lua:15: bad argument #1 to 'mysql_free_result' (mysqlResult expected, got nil)
//Edit: Error behoben aber jetzt kommt das nächste Problem jetzt wenn er schon registriert ist und den Befehl nochmal eingibt dann kommt zwar die Nachricht dieser Benutzername ist bereits behoben aber dann gleichzeitig führt er auch den query durch und sendet zugleich auch die andere Nachricht. Und wie ignoriere ich die Groß und kleinschreibung bei der Datenbank? z.b ich gebe ein registerPlayer Iven blabla und dann registerPlayer iven blabla dann führt der das trotzdem durch.
//Edit 2: Alles behoben.