daniil9536
Новичок
Здравствуйте жители Pawno-Info.ru
У меня появилась проблема с MYSQL,когда я выдаю админку игроку,она ему выдается конечно,но выходит ошибка в логах.
UPD: Понял что баг в /alogin
UPD:Ребят спасибо кто хотел ответить,я сам все понял тему закрыть можете.
Ошибка была в том что MysqlUpdatePlayerInt(playerid, "admin", PI[playerid][pAdmin]); а у меня админ в базе с большой буквы.
У меня появилась проблема с MYSQL,когда я выдаю админку игроку,она ему выдается конечно,но выходит ошибка в логах.
Код:
[11:01:23 01/16/21] [ERROR] CMySQLQuery::Execute[] - (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 'qwerty' WHERE `name` = 'Pawno_Info' LIMIT 1' WHERE id = '+Pawno_Info' L' at line 1 (Query: "UPDATE `users` SET admin = 'UPDATE `admin` SET `password` = 'qwerty' WHERE `name` = 'Pawno_Info' LIMIT 1' WHERE id = '+Pawno_Info' LIMIT 1")
Код:
else
{
if(!level) return SendClientMessage(playerid, COLOR_GREY, "Игрок не администратор");
new data[15];
getdate(years, months, days);
format(data, sizeof(data), "%02d.%02d.%04d", days, months, years);
mysql_format(dbHandle, string, sizeof(string), "INSERT INTO "T_ADMIN" (`name`, `level`, `last_connect`, `put_admin`, `data`) VALUES ('%s', %d, '%s', '%s', '%s')", name, level, data, PN(playerid), data);
mysql_tquery(dbHandle, string, "", "");
format(string, sizeof(string), "%s добавлен в список администрации. Уровень полномочий %i", name, level);
SendClientMessage(playerid, COLOR_GREEN, string);
format(string, sizeof(string), "%s добавил в список администрации %s (%i уровень)", PN(playerid), name, level);
if(GetPlayerID(name) != INVALID_PLAYER_ID)
{
format(string, sizeof(string), "%s назначил Вас администратором", PN(playerid));
SendClientMessage(GetPlayerID(name), COLOR_YELLOW, string);
}
}
Код:
void AloginReg(playerid, name[])
{
new rows, fields;
cache_get_data(rows, fields);
if(!rows) return true;
new inputtext[16], string[144];
GetPVarString(playerid, "inputtext", inputtext, sizeof(inputtext));
mysql_format(dbHandle, string, sizeof(string), "UPDATE "T_ADMIN" SET `password` = '%s' WHERE `name` = '%s' LIMIT 1", inputtext, PN(playerid));
mysql_tquery(dbHandle, string, "", "");
PI[playerid][pAdmin] = cache_get_row_int(0, 1, dbHandle);
MysqlUpdatePlayerInt(playerid, "admin", PI[playerid][pAdmin]);
static const Admin_Names[6][32] = {"{00C3FF}Модератор","{00C3FF}Ст. Модератор","{00C3FF}Администратор","{009900}Ст. Администратор","{FF0000}Основатель","{FF0000}Упровляющий"};
if(PI[playerid][pSex] == 1) format(string, sizeof(string), "[A] %s {FFFFFF}%s[%i] вошёл в систему администрирования", Admin_Names[PI[playerid][pAdmin]-1], PN(playerid), playerid);
else format(string, sizeof(string), "[A] %s {FFFFFF}%s[%i] вошёл в систему администрирования", Admin_Names[PI[playerid][pAdmin]-1], PN(playerid), playerid);
SendAdminMessage(COLOR_WHITE, string);
AdminLogged[playerid] = true;
new day, month, year;
getdate(year, month, day);
mysql_format(dbHandle, string, sizeof(string), "UPDATE "T_ADMIN" SET `last_connect` = '%d.%d.%d' WHERE `name` = '%s' LIMIT 1", day, month, year, PN(playerid));
mysql_tquery(dbHandle, string, "", "");
return true;
}
Ошибка была в том что MysqlUpdatePlayerInt(playerid, "admin", PI[playerid][pAdmin]); а у меня админ в базе с большой буквы.
Последнее редактирование:
