29.09.2013, 20:50
Hello, I got some errors with my mysql register system. This is the errors I get in my mysql.log.
Dont know where to look, cause im new to mysql. But here is some codes:
OnPlayerConnect:
New to MySQL so im really sure whats wrong
Код:
[22:49:34] [MySQL] Error (0): Failed to exeute query. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''MY IP' at line 1. [22:49:34] [MySQL] Error (0): Function: mysql_store_result called when no prior successful query executed. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''MY IP' at line 1. [22:49:34] [MySQL] Error (0): Function: mysql_num_rows called when no result stored. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''MY IP' at line 1.
pawn Код:
conne = mysql_init(LOG_ONLY_ERRORS, 1);
if(mysql_connect(SQL_HOST,SQL_USER,SQL_PASSWORD,SQL_DATABASE,conne,1)) { print("Connected 1"); }
mysql_query(
"CREATE TABLE IF NOT EXISTS `users` ("\
"`AccID` int(10) NOT NULL AUTO_INCREMENT,"\
"`Username` varchar(24) NOT NULL,"\
"`Password` varchar(24) NOT NULL,"\
"`Score` int(15) NOT NULL,"\
"`AdminLevel` int(1) NOT NULL,"\
"`IP` varchar(16) NULL,"\
"PRIMARY KEY (`AccID`)"\
") ENGINE=InnoDB DEFAULT CHARSET=latin1;");
pawn Код:
stock LoadStats(playerid)
{
new Query[64],result[6]; // beware of the lenght - count to be sure!
format(Query, sizeof(Query), "SELECT FROM `users` WHERE `Username` = '%s'", GetPName(playerid));
mysql_query(Query);
mysql_store_result();
if(mysql_num_rows() != 0) mysql_fetch_field("AdminLevel", result);
PlayerInfo[playerid][pAdmin] = strval(result);
print(result);
PlayerInfo[playerid][Logged] = 1;
gPlayerLogged[playerid] = 1; // double ??
mysql_free_result();
return 1;
}
stock SaveStats(playerid)
{
new Query[1024];
//format(Query,sizeof(Query),"UPDATE `users` SET `IP` = '%s',`Score` = '%i', `AdminLevel` = '%i' WHERE `Username` = '%s'",
format(Query,sizeof(Query),"UPDATE `users` SET `IP` = '%s', `Score` = '%i', `AdminLevel` = '%i' WHERE `Username` = '%s'",
PlayerInfo[playerid][Ip],
GetPlayerScore(playerid),
PlayerInfo[playerid][pAdmin],
GetPName(playerid));
mysql_query(Query);
mysql_free_result();
return 1;
}
stock LoginPlayer(playerid,const password[])
{
new buffer[129],Query[1024];
WP_Hash(buffer,sizeof(buffer),password);
format(Query,sizeof(Query),"SELECT Password FROM `users` WHERE `Username` = '%s' AND `Password` = '%s'",GetPName(playerid),buffer);
mysql_query(Query);
mysql_store_result();
if(mysql_num_rows() != 0)
{
LoadStats(playerid);
ShowPlayerDialog(playerid, TUT16, DIALOG_STYLE_MSGBOX, "Choose","Do you wish to spawn or take the tutorial again?","Spawn","Tutorial");
PlayerInfo[playerid][Logged] = 1;
gPlayerLogged[playerid] = 1;
}
mysql_free_result();
return 1;
}
pawn Код:
if(dialogid == REGISTER)
{
if(strlen(inputtext) == 0)
{
ShowPlayerDialog(playerid, REGISTER, DIALOG_STYLE_PASSWORD, "Welcome to Island Survival", "{FFFFFF}Welcome to {FF0000}Island Survival:RP\n{FFFFFF}You are about to make an account here!\n\n\n{00FF00}Type in your password you want!", "Register", "Leave");
}
else
{
new EscapedText[64],buffer[150],Query[260];
mysql_real_escape_string(inputtext, EscapedText);
WP_Hash(buffer,sizeof(buffer),EscapedText);
format(Query,sizeof(Query)," INSERT INTO `users` (Username,Password,IP,Score,AdminLevel) VALUES('%s','%s','%s',1,0)",
GetPName(playerid),
buffer,
GetPlayerScore(playerid),
PlayerInfo[playerid][pAdmin]);
GetIP(playerid);
mysql_query(Query);
mysql_store_result();
mysql_free_result();
LoadStats(playerid);
PlayerInfo[playerid][Logged] = 1;
SetPlayerScore(playerid,1);
PlayerInfo[playerid][pSurvivors] = 1;
IsInTut[playerid] = 1;
SetPlayerScore(playerid,1);
PlayerInfo[playerid][pScore] = 1;
PlayerInfo[playerid][pAdmin] = 0;
ShowPlayerDialog(playerid, TUT1, DIALOG_STYLE_MSGBOX, "Tutorial Step 1", "Welcome to Island Survival! You are just about to begin a small tutorial to get you started.\nNOTE: To fully understand this server, its recommended that you have seen the show Lost.\nYou are roleplaying as a survivor after a plane crash on a strange island.\nPress next to continue","Next","");
}
}
if(dialogid == LOGIN)
{
if(!response) return Kick(playerid);
if(strlen(inputtext) == 0)
{
ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD, "Welcome back!", "Welcome back to Island Survival:RP!\n\nType in your password below to login", "Login", "Leave");
}
else
{
LoginPlayer(playerid,inputtext);
ShowPlayerDialog(playerid, TUT16, DIALOG_STYLE_MSGBOX, "Choose","Do you wish to spawn or take the tutorial again?","Spawn","Tutorial");
}
}
pawn Код:
new Query[80];
format(Query,sizeof(Query),"SELECT Username FROM `users` WHERE `Username` = '%s'",GetPName(playerid));
mysql_query(Query);
mysql_store_result();
if(mysql_num_rows() != 0)
{
format(Query,sizeof Query,"SELECT IP FROM `users` WHERE `Username` = '%s' AND `IP` = '%s'",GetPName(playerid),GetIP(playerid));
mysql_query(Query);
mysql_store_result();
if(mysql_num_rows() != 0)
{
LoadStats(playerid);
ShowPlayerDialog(playerid, TUT16, DIALOG_STYLE_MSGBOX, "Choose","Do you wish to spawn or take the tutorial again?","Spawn","Tutorial");
PlayerInfo[playerid][Logged] = 1;
SendClientMessage(playerid,COLOR_GREEN,"» You have been automatically logged in! Welcome back!");
}
else
{
ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD, "Welcome back!", "Welcome back to Island Survival!\n\nType in your password below to login", "Login", "Leave");
}
}
else
{
ShowPlayerDialog(playerid, REGISTER, DIALOG_STYLE_PASSWORD, "Welcome to Island Survival", "{FFFFFF}Welcome to {FF0000}Island Survival:RP\n{FFFFFF}You are about to make an account here!\n\n\n{00FF00}Type in your password you want!", "Register", "Leave");
}
mysql_free_result();