public OnPlayerConnect(playerid)
{
new string[255];
GetPlayerName(playerid,PlayerInfo[playerid][Username],128);
format(string,255,"SELECT * FROM `accounts` WHERE Username = '%s'",PlayerInfo[playerid][Username]);
mysql_function_query(Mysql,string,true,"Check","i",playerid);
return 1;
}
forward Check(playerid);
public Check(playerid)
{
new rows,fields;
cache_get_data(rows,fields);
if(rows)
{
ShowPlayerDialog(playerid, Dialog_Login, DIALOG_STYLE_PASSWORD, "Login", "Type your password below to login.", "Login", "Quit");
}
else
{
ShowPlayerDialog(playerid, Dialog_Register, DIALOG_STYLE_PASSWORD, "Register", "Type your password below to register.", "Register", "Quit");
}
return 1;
}
|
you use invalid function for check if player is registered or not, you must use, cache_num_rows() or cache_get_row_count() function.
|
if(cache_get_row_count < 1 ) {
//player isn't registered
}else{
//player is registered
}
|
Can you show a copy of the MySQL Log? |
[16:37:46] [DEBUG] CMySQLConnection::Connect - establishing connection to database... [16:37:46] [DEBUG] CMySQLConnection::Connect - establishing connection to database... [16:37:46] [DEBUG] CMySQLConnection::Connect - connection was successful [16:37:46] [DEBUG] CMySQLConnection::Connect - connection was successful [16:37:46] [DEBUG] CMySQLConnection::Connect - connection was successful [16:37:46] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled [16:37:46] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled [16:38:09] [DEBUG] mysql_tquery - connection: 1, query: "SELECT * FROM `accounts` WHERE Username = 'Test'", callback: "Check", format: "i" [16:38:09] [DEBUG] CMySQLQuery::Execute[Check] - starting query execution [16:38:09] [DEBUG] CMySQLQuery::Execute[Check] - query was successfully executed within 0.581 milliseconds [16:38:09] [DEBUG] CMySQLResult::CMySQLResult() - constructor called [16:38:09] [DEBUG] Calling callback "Check".. [16:38:09] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called
|
you use invalid function for check if player is registered or not, you must use, cache_num_rows() or cache_get_row_count() function. |
public OnPlayerConnect(playerid)
{
new string[255];
GetPlayerName(playerid,PlayerInfo[playerid][Username],128);
format(string,255,"SELECT * FROM `accounts` WHERE Username = '%s'",PlayerInfo[playerid][Username]);
mysql_tquery(Mysql,string,"Check","i",playerid);
return 1;
}
forward Check(playerid);
public Check(playerid)
{
printf("%i",cache_get_row_count());
if(cache_get_row_count() < 1)
{
ShowPlayerDialog(playerid, Dialog_Register, DIALOG_STYLE_PASSWORD, "Register", "Type your password below to register.", "Register", "Quit");
}
else
{
ShowPlayerDialog(playerid, Dialog_Login, DIALOG_STYLE_PASSWORD, "Login", "Type your password below to login.", "Login", "Quit");
}
return 1;
}