• Уважаемый Гость.
    - Прежде чем создать свою тему, пожалуйста, попробуй воспользоваться этим -> ПОИСКОМ !!!
    - После решения Вашего вопроса (проблемы) - нажмите "Лучший ответ", на сообщении, которое его решило. За игнорирование этого действия - Вы получите соответствующее предупреждение. Мы - стараемся Вам помочь. Уделите 10 секунд - чтобы нажать кнопку. (Если у Вас нет такой возможности - укажите в последнем своем сообщении какой ответ Вы считаете лучшим. Наши модераторы сделают это за Вас)
    ЗАПРЕЩЕНО:
    - Cоздавать темы с названиями "Помогите", "Плиз", "Ошибка", "Не могу найти", "Хелп" и тому подобное;
    - Cоздавать темы без детального описания того, что нужно исправить.
    - Cоздавать темы из одного скриншота.
    За игнор правил форума - Ваша тема будет удалена, а Вы получите системное предупреждение.

Ошибка[mysql][error #1064]

Статус
В этой теме нельзя размещать новые ответы.

daniil9536

Новичок
Здравствуйте жители Pawno-Info.ru
У меня появилась проблема с 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);
        }
    }
UPD: Понял что баг в /alogin
Код:
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;
}
UPD:Ребят спасибо кто хотел ответить,я сам все понял тему закрыть можете.
Ошибка была в том что MysqlUpdatePlayerInt(playerid, "admin", PI[playerid][pAdmin]); а у меня админ в базе с большой буквы.
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу