Перейти к содержимому



Добро пожаловать на пользовательский форум CR-MP.RU
Зарегистрируйтесь или авторизуйтесь на нашем форуме, чтобы получить доступ ко всем функциям.
Если у Вас уже имеется аккаунт, нажмите, чтобы войти.
Если у Вас нет аккаунта на нашем форуме, нажмите, чтобы перейти к регистрации. Возникли проблемы с регистрацией ? Обратитесь на почту admin@cr-mp.ru с вашей проблемой.
Фотография

Ошибка в MYCQL

- - - - - Warning MYCQL Ошибка Логин Имя

Лучший Ответ #Rips , 06 Ноябрь 2017 - 19:02

Зачем было делать sendername, когда можно было сразу записать ник нейм в player_info и дальше использовать player_info[playerid][NAME]

enum player
{
    ID, // ID ACCA
    NAME[MAX_PLAYER_NAME] // NICK NAME
}
new player_info[MAX_PLAYERS][player];
public OnPlayerConnect(playerid)
{ 
        GetPlayerName(playerid, player_info[playerid][NAME], MAX_PLAYER_NAME);
	SCM(playerid, 0x00FF40AA, "Добро пожаловать на Hydra RolePplay!");
	SetTimerEx("player_connect", 700, false, "i", playerid);
	return 1;
}
forward player_connect(playerid);
public player_connect(playerid)
{
static const fmt_query[] = "SELECT * FROM `accounts` WHERE `login` = '%s'";
    new query[sizeof(fmt_query)+(-2+MAX_PLAYER_NAME)];
    format(query, sizeof(query), fmt_query, player_info[playerid][NAME]);
    mysql_tquery(dbHandle, query, "player_check", "ii", playerid, 0);
    return 1;
}
forward player_check(playerid);
public player_check(playerid)
{
    new rows;
    cache_get_row_count(rows);
    if(rows) show_login(playerid);
    else show_register(playerid);
    return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    switch(dialogid)
    {
     case 1:
     {
     if(!strlen(inputtext) || strlen(inputtext) < 6 || strlen(inputtext) > 16)
     {
     show_register(playerid);
            }
            else
            {
                new query[128], temp[16];
                mysql_escape_string(inputtext, temp);
                format(query, sizeof(query), "INSERT INTO `accounts` (`login`, `password`) VALUES ('%s','%s')", player_info[playerid][NAME], temp);
                mysql_query(dbHandle, query);
                format(query, sizeof(query), "SELECT * FROM `accounts` WHERE `login` = '%s' AND `password` = '%s' LIMIT 1", player_info[playerid][NAME], temp);
                mysql_tquery(dbHandle, query, "player_login", "i", playerid);
     }
        }
    }
    return 1;
}
Перейти к сообщению »


  • Закрытая тема Тема закрыта
Сообщений в теме: 2

#1
Danila_Ud

Гражданин


Репутация: 0

Я сделал подключение к базе данных через MYSQL. Но в базе данных вместо имени (логина) ничего не пишется. То есть пишется ИД, логин (нет) и пароль.

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытый текст

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытый текст

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытый текст

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытый текст

То есть. Регистрация произошла. Но при регистрации не указался логин в базе данных

 



#2
SCRIPTMAN

My Bich this you


Репутация: 270

Раскладку на русскую и копируй



#3
#Rips

Просто, #Rips


Репутация: 129
✓  Лучший Ответ

Зачем было делать sendername, когда можно было сразу записать ник нейм в player_info и дальше использовать player_info[playerid][NAME]

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытый текст

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытый текст

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытый текст

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытый текст







Темы с аналогичным тегами Warning, MYCQL Ошибка Логин Имя

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных