11.11.2017, 07:53
Just a quickie,
does anyone know a method to handle mysql errors correctly in SAMP in such a case the errors aren't logged (cluttering up the log file)?
Example,
1. A key field is set to being distinct values in MySQL.
2. Imagine we have some voting system (may contain errors),
I'd much prefer this to having to send two queries: one SELECT & followed by an INSERT. Is there a way to avoid writing to mysql_log.txt in this situation? Going to take a quick looksy at the source.
Hmm perhaps mysql_log(none); then set it to default.
#define mysql_pquery_e(%0) mysql_log(LOG_NONE); \
mysql_pquery(%0); \
mysql_log(...); //... = default
...but this could fail seemingly queries are threaded.
I'm aware we can create sql routines which except errors but surely there's a much simpler approach in samp
does anyone know a method to handle mysql errors correctly in SAMP in such a case the errors aren't logged (cluttering up the log file)?
Example,
1. A key field is set to being distinct values in MySQL.
2. Imagine we have some voting system (may contain errors),
Код:
CMD:vote(playerid, params[]) { new votedfor; if(sscanf(params, "d", votedfor)) { return; } if votedfor is valid... new query[200]; mysql_format(sqlGameConnection, query, sizeof(query), "INSERT INTO votes SET pID = %d, for = %d;", PlayerInfo[playerid][pID], votedfor); mysql_pquery(sqlGameConnection, query, "OnVotedError", "i", playerid); } forward OnVotedError(playerid); public OnVotedError(playerid) { if(mysql_errno() == 1062) { //duplicate record, player has already voted SendClientMessage(playerid, COLOR_GREY, "You have already voted"); } return; }
Hmm perhaps mysql_log(none); then set it to default.
#define mysql_pquery_e(%0) mysql_log(LOG_NONE); \
mysql_pquery(%0); \
mysql_log(...); //... = default
...but this could fail seemingly queries are threaded.
I'm aware we can create sql routines which except errors but surely there's a much simpler approach in samp