28.04.2014, 19:55
Can someone help me about this mysql system?
Mysql_log:
OnAccountRegister:
Register dialog:
In basic, the row in the db is created and everything is set good, but when i login again i dont get my stats back.
OnPlayerDisconnect:
Thanks.
Mysql_log:
Quote:
[22:05:16] [DEBUG] mysql_format - connection: 1, len: 128, format: "SELECT `Password`, `ID` FROM `players` WHERE `Username` = '%e' LIMIT 1" [22:05:16] [DEBUG] mysql_tquery - connection: 1, query: "SELECT `Password`, `ID` FROM `players` WHERE `Username` = 'Face9", callback: "OnAccountCheck", format: "i" [22:05:16] [DEBUG] CMySQLQuery::Execute[OnAccountCheck] - starting query execution [22:05:16] [DEBUG] CMySQLQuery::Execute[OnAccountCheck] - query was successfully executed within 94.625 milliseconds [22:05:16] [DEBUG] CMySQLResult::CMySQLResult() - constructor called [22:05:16] [DEBUG] Calling callback "OnAccountCheck".. [22:05:16] [DEBUG] cache_get_data - connection: 1 [22:05:16] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called [22:05:19] [DEBUG] mysql_format - connection: 1, len: 300, format: "INSERT INTO `players` (`Username`, `Password`, `IP`, `Admin`, `VIP`, `Money`, `Score` ,`Deaths`, `MissionsPlayed`) VALUES ('%e',..." [22:05:19] [DEBUG] mysql_tquery - connection: 1, query: "INSERT INTO `players` (`Username`, `Password`, `IP`, `Admin`, `V", callback: "OnAccountRegister", format: "i" [22:05:19] [DEBUG] CMySQLQuery::Execute[OnAccountRegister] - starting query execution [22:05:19] [DEBUG] CMySQLQuery::Execute[OnAccountRegister] - query was successfully executed within 96.405 milliseconds [22:05:19] [DEBUG] CMySQLResult::CMySQLResult() - constructor called [22:05:19] [DEBUG] Calling callback "OnAccountRegister".. [22:05:19] [DEBUG] cache_insert_id - connection: 1 [22:05:19] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called [22:05:23] [DEBUG] mysql_format - connection: 1, len: 300, format: "UPDATE `players` SET `Admin`=%d, `VIP`=%d, `Money`=%d, `Score`=%d, `Deaths`=%d, `MissionsPlayed`=%d, WHERE `ID`=%d" [22:05:23] [DEBUG] mysql_tquery - connection: 1, query: "UPDATE `players` SET `Admin`=0, `VIP`=0, `Money`=0, `Score`=0, `", callback: "(null)", format: "(null)" [22:05:23] [DEBUG] CMySQLQuery::Execute[] - starting query execution [22:05:23] [ERROR] CMySQLQuery::Execute[] - (error #1064) 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 'WHERE `ID`=2' at line 1 |
pawn Код:
public OnAccountRegister(playerid)
{
pInfo[playerid][ID] = cache_insert_id();
printf("New account registered. ID: %d", pInfo[playerid][ID]);
return 1;
}
pawn Код:
case dregister: //register dialog
{
if(!response) return Kick(playerid);
if(strlen(inputtext) < 5) return ShowPlayerDialog(playerid, dregister, DIALOG_STYLE_INPUT, "Register", "In order to play, you need to register.\nYour password must be at least 5 characters long!", "Register", "Quit");
new query[300];
WP_Hash(pInfo[playerid][Password], 129, inputtext);
mysql_format(mysql, query, sizeof(query), "INSERT INTO `players` (`Username`, `Password`, `IP`, `Admin`, `VIP`, `Money`, `Score` ,`Deaths`, `MissionsPlayed`) VALUES ('%e', '%s', '%s', 0, 0, 0, 0, 0, 0)", Name[playerid], pInfo[playerid][Password], IP[playerid]);
mysql_tquery(mysql, query, "OnAccountRegister", "i", playerid);
}
OnPlayerDisconnect:
pawn Код:
new query[300];
mysql_format(mysql, query, sizeof(query), "UPDATE `players` SET `Admin`=%d, `VIP`=%d, `Money`=%d, `Score`=%d, `Deaths`=%d, `MissionsPlayed`=%d, WHERE `ID`=%d",
pInfo[playerid][Admin], pInfo[playerid][VIP], pInfo[playerid][Money], pInfo[playerid][Score], pInfo[playerid][Deaths], pInfo[playerid][MissionsPlayed], pInfo[playerid][ID]);
mysql_tquery(mysql, query, "", "");