SA-MP Forums Archive
Mysql problem. - 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)
+--- Thread: Mysql problem. (/showthread.php?tid=420748)



Mysql problem. - shady001 - 06.03.2013

In debug log i have no errors but still the information is not stored in my DB.

pawn Код:
stock PlayerRegister(playerid, password[])
{
    new query[240];
    format(query,sizeof(query),"INSERT INTO `users` (name, pass) VALUES ('%s', '%s')",
        returnName(playerid),
        password
    );
    mysql_function_query(g_Handle,query,false,"OnPlayerRegister","i",playerid,password);
}
stock OnPlayerRegister(playerid,password[])
{
    PlayerInfo[playerid][pID] = mysql_insert_id();
    strmid(PlayerInfo[playerid][pKey], password, 0, strlen(password), 255);
    new loginstring[128];
    new loginname[64];
    GetPlayerName(playerid,loginname,sizeof(loginname));
    format(loginstring,sizeof(loginstring),"Welcome, %s\nYou can now login:",loginname);
    ShowPlayerDialog(playerid,12346,DIALOG_STYLE_PASSWORD,"Login",loginstring,"Login","Exit");
}
pawn Код:
[20:59:05] Passing query INSERT INTO `users` (name, pass) VALUES ('jaw', 'test') | i
[20:59:05] ProcessQueryThread(OnPlayerRegister) - Query was successful. (INSERT INTO `users` (name, pass) VALUES ('jaw', 'test'))
[20:59:05] CMySQLHandler::ProcessQueryThread() - Data is getting passed to ->ProcessTick()



Re: Mysql problem. - Patrick - 06.03.2013

What MySQL Version you use? R7?


Re: Mysql problem. - shady001 - 06.03.2013

yes R7


Re: Mysql problem. - MattSlater - 06.03.2013

pawn Код:
stock PlayerRegister(playerid, password[])
{
    new query[240];
    format(query,sizeof(query),"INSERT INTO `users` (name, pass) VALUES ('%s', '%s')",
        returnName(playerid),
        password
    );
    mysql_function_query(g_Handle,query,false,"OnPlayerRegister","i",playerid,password);
}
You only put "i" on the function query, you need to add a string.

mysql_function_query(g_Handle,query,false,"OnPlaye rRegister","is",playerid,password);

(Not sure if this works, but there is no way of the password passing onto the OnPlayerRegister function.


Re: Mysql problem. - shady001 - 06.03.2013

did it , but still does not work
pawn Код:
[21:39:51] Passing query INSERT INTO `users` (name, pass) VALUES ('jaw', 'test') | is
[21:39:51] ProcessQueryThread(OnPlayerRegister) - Query was successful. (INSERT INTO `users` (name, pass) VALUES ('jaw', 'test'))
[21:39:51] CMySQLHandler::ProcessQueryThread() - Data is getting passed to ->ProcessTick()



Re: Mysql problem. - Patrick - 06.03.2013

Im not sure with this. as i never used MySQL R7 Atm. i only used R5 and R6.
give this a try

pawn Код:
stock PlayerRegister(playerid, password[])
{
    new query[240];
    format(query,sizeof(query),"INSERT INTO `users` (name,pass) VALUES (\'%s\',\'%s\')",returnName(playerid), password
    );
    mysql_function_query(g_Handle,query,false,"OnPlayerRegister","i",playerid);
}
forward OnPlayerRegister(playerid);
public OnPlayerRegister(playerid)
{
    PlayerInfo[playerid][pID] = mysql_insert_id();
    ShowPlayerLogin(playerid);
    return 1;
}

stock ShowPlayerLogin(playerid, password[]);
{
    strmid(PlayerInfo[playerid][pKey], password, 0, strlen(password), 255);
    new loginstring[128];
    //
    new loginname[64];
    GetPlayerName(playerid,loginname,sizeof(loginname));
    format(loginstring,sizeof(loginstring),"Welcome, %s\nYou can now login:",loginname);
    ShowPlayerDialog(playerid,12346,DIALOG_STYLE_PASSWORD,"Login",loginstring,"Login","Exit");
    return 1;
}



Re: Mysql problem. - shady001 - 06.03.2013

Same thing , Query was successful. ... but when i check in phpmyadmin no account created ... i use Server2Go ...

pawn Код:
[21:54:23] Passing query INSERT INTO `users` (name,pass) VALUES ('jaw','test') | i
[21:54:23] ProcessQueryThread(OnPlayerRegister) - Query was successful. (INSERT INTO `users` (name,pass) VALUES ('jaw','test'))
[21:54:23] CMySQLHandler::ProcessQueryThread() - Data is getting passed to ->ProcessTick()



Re: Mysql problem. - Vince - 06.03.2013

Since the callback is called by name it must be PUBLIC. Not stock.


Re: Mysql problem. - Patrick - 06.03.2013

Vince. oh yeah. thanks for the reminder! because you execute it it should be a public.

EDIT
Try my code again i edited it. Thanks to Vince to for remiding me shady001


Re: Mysql problem. - shady001 - 06.03.2013

still don't work...