28.01.2017, 18:15
Salutare.Poate cineva sa ma ajute cu unele indrumari in legatura cu mysql_real_escape_string?
Cum trebuie sa arate linia de cod mai exact?
Stiu ca trebuie folosit atunci cand player-ul scrie ceva ce se duce catre baza de date.Dar nu stiu cum mai exact sa folosesc aceasta functie .Trebuiesc declarate niste caractere interzise pe undeva sau cum?
Am incercat sa o folosesc pentru comanda de schimbare a parolei,dar nu functioneaza.Cand introduc %n imi inchide serverul.O sa las partea de cod mai jos,poate cineva o sa imi explice ce si unde am gresit.
Cum trebuie sa arate linia de cod mai exact?
Stiu ca trebuie folosit atunci cand player-ul scrie ceva ce se duce catre baza de date.Dar nu stiu cum mai exact sa folosesc aceasta functie .Trebuiesc declarate niste caractere interzise pe undeva sau cum?
Am incercat sa o folosesc pentru comanda de schimbare a parolei,dar nu functioneaza.Cand introduc %n imi inchide serverul.O sa las partea de cod mai jos,poate cineva o sa imi explice ce si unde am gresit.
Code:
if(strlen(inputtext) > 1 && strlen(inputtext) < 16) { new tmppass[64],namee[30],playerip[16]; mysql_real_escape_string(inputtext, tmppass); strmid(PlayerInfo[playerid][pKey], tmppass, 0, strlen(tmppass), 255); format(string,sizeof(string),"Your new password is %s.",tmppass); SendClientMessage(playerid, COLOR_YELLOW,string); GetPlayerName(playerid, namee, sizeof(namee)); GetPlayerIp(playerid, playerip, sizeof(playerip)); format(string,sizeof(string),"%s[user:%d] changed his password. IP: %s",namee,PlayerInfo[playerid][pSQLID],playerip); ABroadCast(COLOR_YELLOW, string,1); GetPlayerName(playerid,sendername,sizeof(sendername)); new str2[240]; mysql_format(SQL, str2, sizeof(str2), "UPDATE users SET `password`='%s' WHERE `name`='%s\'",PlayerInfo[playerid][pKey], PlayerInfo[playerid][pNormalName]); mysql_tquery(SQL,str2,"",""); return 1; }