new query[248];
mysql_format(mysql, query, sizeof(query), "SELECT `BannedBy`, `BanReason`, `BannedDate`, `Username` WHERE `IP`='%e' AND `Banned`='1'", RPIP(playerid));
mysql_tquery(mysql, query, "CheckBan", "i", playerid);
forward CheckBan(playerid);
public CheckBan(playerid)
{
new rows, fields;
cache_get_data(rows, fields, mysql);
if(rows)
{
new banreason[128], bannedby[24], bandate[10], username[24], string[128];
cache_get_field_content(0, "BannedBy", bannedby, mysql, sizeof(bannedby));
cache_get_field_content(0, "BanReason", banreason, mysql, sizeof(banreason));
cache_get_field_content(0, "BannedDate", bandate, mysql, sizeof(bandate));
cache_get_field_content(0, "Username", username, mysql, sizeof(username));
SendClientMessage(playerid, COLOR_GREEN, "-------[Banned]-------");
format(string, sizeof(string), "Username: %s || Banning Date: %s", username, bandate);
SendClientMessage(playerid, COLOR_RED, string);
format(string, sizeof(string), "IP Address: %s || Banned By: %s", RPIP(playerid), bannedby);
SendClientMessage(playerid, COLOR_RED, string);
format(string, sizeof(string), "Reason: %s", banreason);
SendClientMessage(playerid, COLOR_RED, string);
SendClientMessage(playerid, COLOR_YELLOW, "If you think that you have been wrongfully banned, visit our forums and apply for an unban.");
SendClientMessage(playerid, COLOR_GREEN, "-------[Banned]-------");
SetTimerEx("DelayedKick", 1000, 0, "i", playerid);
}
}
[01:35:09] [ERROR] CMySQLQuery::Execute[CheckBan] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'WHERE `IP`='127.0.0.1' AND `Banned`='1'' at line 1
mysql_format(mysql, query, sizeof(query), "SELECT `BannedBy`, `BanReason`, `BannedDate`, `Username` FROM table_ban WHERE `IP`='%e' AND `Banned`='1'", RPIP(playerid));
PHP Code:
|
`Banned`='1' // Becomes `Banned`=1
You also don't need to wrap integer values with quotations:
Code:
`Banned`='1' // Becomes `Banned`=1 |
mysql_format(mysql, query, sizeof(query), "SELECT `BannedBy`, `BanReason`, `BannedDate`, `Username` FROM `Users` WHERE `IP`='%e' AND `Banned`=1", RPIP(playerid));
mysql_tquery(mysql, query, "CheckBan", "i", playerid);
forward CheckBan(playerid);
public CheckBan(playerid)
{
new rows, fields;
cache_get_data(rows, fields, mysql);
if(rows)
{
new banreason[128], bannedby[24], bandate[10], username[24], string[128];
cache_get_field_content(0, "BannedBy", bannedby, mysql, sizeof(bannedby));
cache_get_field_content(0, "BanReason", banreason, mysql, sizeof(banreason));
cache_get_field_content(0, "BannedDate", bandate, mysql, sizeof(bandate));
cache_get_field_content(0, "Username", username, mysql, sizeof(username));
SendClientMessage(playerid, COLOR_GREEN, "-------[Banned]-------");
format(string, sizeof(string), "Username: %s || Banning Date: %s", username, bandate);
SendClientMessage(playerid, COLOR_RED, string);
format(string, sizeof(string), "IP Address: %s || Banned By: %s", RPIP(playerid), bannedby);
SendClientMessage(playerid, COLOR_RED, string);
format(string, sizeof(string), "Reason: %s", banreason);
SendClientMessage(playerid, COLOR_RED, string);
SendClientMessage(playerid, COLOR_YELLOW, "If you think that you have been wrongfully banned, visit our forums and apply for an unban.");
SendClientMessage(playerid, COLOR_GREEN, "-------[Banned]-------");
SetTimerEx("DelayedKick", 1000, 0, "i", playerid);
}
}
[02:47:54] [DEBUG] mysql_format - connection: 1, len: 248, format: "SELECT `BannedBy`, `BanReason`, `BannedDate`, `Username` FROM `Users` WHERE `IP`='%e' AND `Banned`=1" [02:47:54] [DEBUG] mysql_tquery - connection: 1, query: "SELECT `BannedBy`, `BanReason`, `BannedDate`, `Username` FROM `U", callback: "CheckBan", format: "i" [02:47:54] [DEBUG] CMySQLQuery::Execute[CheckBan] - starting query execution [02:47:54] [DEBUG] CMySQLQuery::Execute[CheckBan] - query was successfully executed within 0.311 milliseconds [02:47:54] [DEBUG] CMySQLResult::CMySQLResult() - constructor called [02:47:54] [DEBUG] Calling callback "CheckBan".. [02:47:54] [DEBUG] cache_get_data - connection: 1 [02:47:54] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called
Can you throw in a print(query)? I'm wondering whether mysql_format isn't actually formatting it properly - your query is executing successfully, which suggests the IP might be being fucked? I had a couple of issues a year or two back with mysql_format glitching out and not replacing %e because of something weird like array sizes.
|
SELECT `BannedBy`, `BanReason`, `BannedDate`, `Username` FROM `Users` WHERE `IP`='127.0.0.1' AND `Banned`=1
How about you select Banned value as well? And check if its 1 then send banned message otherwise ignre
|
How about you select Banned value as well? And check if its 1 then send banned message otherwise ignre
|