SA-MP Forums Archive
Server crash after sending query to mysql - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+---- Forum: Help Archive (https://sampforum.blast.hk/forumdisplay.php?fid=89)
+---- Thread: Server crash after sending query to mysql (/showthread.php?tid=86605)



Server crash after sending query to mysql - Vince - 15.07.2009

Hai

I'm working on converting my register/login to MySQL but now the server crashes when I do /register blahblah or /login blahblah.

Code:
[13:35:32] Incomming connection: <ip>:2904
[13:35:32] [join] Some_Player has joined the server (0:<ip>)
[13:35:32] Some_Player (<ip>) has not been found on the Sprunk Buster blacklist.
[13:35:43] MySQL Debug: (login) Real escape succesful
[13:35:43] MySQL Debug: (login) Sent query to MySQL
-> Server crashes
pawn Code:
public OnPlayerLogin(playerid, password[])
{
   
    if(!strlen(password))
    {
        SendClientMessage(playerid, COLOR_GRAD2, " Syntax: /login <password>");
        return 1;
    }
   
    new pName[32];
    MySQLCheckConnection();
   
    samp_mysql_real_escape_string(PlayerName(playerid), pName);
    samp_mysql_real_escape_string(password, password);
    print("MySQL Debug: (login) Real escape succesful");
   
    format(query, sizeof(query), "SELECT * FROM `PlayerInfo` WHERE UserName = '%s'", pName);
    samp_mysql_query(query);
    print("MySQL Debug: (login) Sent query to MySQL");
   
    if(!samp_mysql_num_rows()) // if no rows found, nick doesn't exists
    {
        SendClientMessage(playerid, COLOR_YELLOW, " This nick is not found in the database.");
        SendClientMessage(playerid, COLOR_YELLOW, " You can register an account by using /register <password>");
        return 1;
    }
   
   
    format(query,sizeof(query),"SELECT * FROM `PlayerInfo` WHERE Username = '%s' AND Password = md5('%s') LIMIT 1", pName, password);
    samp_mysql_query(query);
    samp_mysql_store_result();

    if(samp_mysql_num_rows() == 1) // If username and password match ...
    {
        samp_mysql_fetch_row(resultline);
        samp_mysql_get_field("Id", field);
        format(string, sizeof(string), "Login Successful! Your user id is %d", strval(field));
        SendClientMessage(playerid, COLOR_YELLOW, string);
        return 1;
    }
    else
    {
        SendClientMessage(playerid, COLOR_YELLOW, "Username and password do not match!");
        return 1;
    }
}