Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 10 из 10
  1. #1
    Аватар для HarrWe
    Пользователь

    Статус
    Оффлайн
    Регистрация
    29.05.2016
    Сообщений
    144
    Репутация:
    11 ±

    Не работает сохранение аккаунта!

    Hi, сёдня начал писать систему фракций, и понял что у меня не работает сохранение аккаунтов.
    Вот сток сохранения, причём сохраняется только pMemeber, остальные нет.
    PHP код:
    stock SaveData(playerid)
    {
        new 
    src[1000],query[1400];
        
    format(query,sizeof(query),"UPDATE `acc` SET");
        
    format(srcsizeof(src), "Member = '%d'"Player[playerid][pMember]); strcat(querysrcsizeof(query));
        
    printf("Фракция: %d"Player[playerid][pMember]);
        
    format(srcsizeof(src), "Rank = '%d'"Player[playerid][pRank]); strcat(querysrcsizeof(query));
        
    printf("Ранг: %d",Player[playerid][pRank]);
        
    format(srcsizeof(src), "Model  = '%d'"Player[playerid][pModel]); strcat(querysrcsizeof(query));
        
    printf("Скин фракции: %d",Player[playerid][pModel]);
        
    format(src,sizeof(src)," WHERE Name = '%s'",Player[playerid][pName]); strcat(querysrcsizeof(query));
        
    mysql_function_query(ConnectMySQLqueryfalse"""");
        return 
    true;

    Я сделал для проверки вывод данных в консоль, там всё ок
    PHP код:
    [11:53:50Фракция1
    [11:53:50Ранг10
    [11:53:50Скин фракции283 
    И ещё вылазит MySQL лог
    PHP код:
    [11:53:50] [ERRORCMySQLQuery::Execute[] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '= '1'Rank = '10'Model  = '283' WHERE Name = 'Hary_Wester'' at line 1 

  2. #2
    Аватар для #Johnson
    Пользователь

    Статус
    Оффлайн
    Регистрация
    15.05.2016
    Сообщений
    34
    Репутация:
    0 ±
    Держи:
    PHP код:
    stock SaveData(playerid)
    {
        new 
    src[1000],query[1400];
        
    format(query,sizeof(query),"UPDATE `acc` SET");
        
    format(srcsizeof(src), "Member = '%d',"Player[playerid][pMember]); strcat(querysrcsizeof(query));
        
    printf("Фракция: %d"Player[playerid][pMember]);
        
    format(srcsizeof(src), "Rank = '%d',"Player[playerid][pRank]); strcat(querysrcsizeof(query));
        
    printf("Ранг: %d",Player[playerid][pRank]);
        
    format(srcsizeof(src), "Model  = '%d',"Player[playerid][pModel]); strcat(querysrcsizeof(query));
        
    printf("Скин фракции: %d",Player[playerid][pModel]);
        
    format(src,sizeof(src)," WHERE Name = '%s'",Player[playerid][pName]); strcat(querysrcsizeof(query));
        
    mysql_function_query(ConnectMySQLqueryfalse"""");
        return 
    true;


  3. #3
    Аватар для HarrWe
    Пользователь

    Статус
    Оффлайн
    Регистрация
    29.05.2016
    Сообщений
    144
    Репутация:
    11 ±
    Цитата Сообщение от #Johnson Посмотреть сообщение
    Держи:
    PHP код:
    stock SaveData(playerid)
    {
        new 
    src[1000],query[1400];
        
    format(query,sizeof(query),"UPDATE `acc` SET");
        
    format(srcsizeof(src), "Member = '%d',"Player[playerid][pMember]); strcat(querysrcsizeof(query));
        
    printf("Фракция: %d"Player[playerid][pMember]);
        
    format(srcsizeof(src), "Rank = '%d',"Player[playerid][pRank]); strcat(querysrcsizeof(query));
        
    printf("Ранг: %d",Player[playerid][pRank]);
        
    format(srcsizeof(src), "Model  = '%d',"Player[playerid][pModel]); strcat(querysrcsizeof(query));
        
    printf("Скин фракции: %d",Player[playerid][pModel]);
        
    format(src,sizeof(src)," WHERE Name = '%s'",Player[playerid][pName]); strcat(querysrcsizeof(query));
        
    mysql_function_query(ConnectMySQLqueryfalse"""");
        return 
    true;

    Хм, не робит, снимал себя, ставил столбец Member не изменился, как был на 1 так и остался, а Rank и Model остались на 0

  4. #4
    Аватар для Redsan
    Пользователь

    Статус
    Оффлайн
    Регистрация
    07.06.2016
    Адрес
    Minsk, Belarus
    Сообщений
    78
    Репутация:
    15 ±
    Залогируйте весь запрос и отправьте его сюда.

  5. #5
    Аватар для HarrWe
    Пользователь

    Статус
    Оффлайн
    Регистрация
    29.05.2016
    Сообщений
    144
    Репутация:
    11 ±
    Цитата Сообщение от Redsan Посмотреть сообщение
    Залогируйте весь запрос и отправьте его сюда.
    Я так понял ты об этом?
    PHP код:
    CMD:makeleader(playeridparams[])
    {
        new 
    string[128],member[30];
        if(
    Player[playerid][pAdmin] < 6) return false;
        if(
    sscanf(params"ii"params[0], params[1])) return SCM(playerid,C_White"[{009CFF}Подсказка{FFFFFF}] Используй: /makeleader [playerid] [ID фракции]");
        if(!
    IsPlayerConnected(params[0])) return PlayerDontConnected;
        if(
    params[1] < || params [1] > 1) return false;
        if(
    params[1] == 0)
        {
            
    Player[params[0]][pMember] = 0;
            
    Player[params[0]][pRank] = 0;
            
    SetPlayerArmour(params[0], 0.0);
            
    ResetPlayerWeapons(params[0]);
            
    SetPlayerSkin(params[0], Player[params[0]][pSkin]);
            
    ClistColor(params[0]);
            
    f("Администратор %s снял с вас лидерку");
            
    SCM(params[0], C_Whitestring);
            
    f("Администратор %s снял с лидерку с игрока %s [%d]"GN(playerid), GN(params[0]), params[0]);
            
    SendMessageAdmins(C_Orangstring);
            return 
    true;
        }
        
    Player[params[0]][pMember] = params[1];
        
    Player[params[0]][pRank] = 10;
        
    ResetPlayerWeapons(params[0]);
        
    SetPlayerSkin(params[0], Player[params[0]][pModel]);
        switch(
    params[1])
        {
            case 
    1:
            {
                if(
    Player[params[0]][pSex] == 1Player[params[0]][pModel] = 283;
                if(
    Player[params[0]][pSex] == 2Player[params[0]][pModel] = 306;
                
    member "Los Santos Police Departament";
            }
        }
        
    SetPlayerSkin(params[0], Player[params[0]][pModel]);
        
    ClistColor(params[0]);
        
    f("Администратор %s назначил вас контролировать фракцию %s"GN(playerid), member);
        
    SCM(playeridC_Whitestring);
        
    f("Администратор %s выдал лидерку игроку %s [%d]"GN(playerid), GN(params[0]), params[0]);
        
    SendMessageAdmins(C_Orangstring);
        return 
    true;


  6. #6
    Аватар для Desulaid
    лесоруб продакшен

    Статус
    Оффлайн
    Регистрация
    15.03.2015
    Адрес
    Slobodskoy
    Сообщений
    667
    Репутация:
    236 ±
    PHP код:
    stock SaveData(playerid)
    {
        new 
    src[1000],query[1400];
        
    format(query,sizeof(query),"UPDATE `acc` SET");
        
    format(srcsizeof(src), "Member = '%d',"Player[playerid][pMember]); strcat(querysrcsizeof(query));
        
    printf("Фракция: %d"Player[playerid][pMember]);
        
    format(srcsizeof(src), "Rank = '%d',"Player[playerid][pRank]); strcat(querysrcsizeof(query));
        
    printf("Ранг: %d",Player[playerid][pRank]);
        
    format(srcsizeof(src), "Model  = '%d'"Player[playerid][pModel]); strcat(querysrcsizeof(query));
        
    printf("Скин фракции: %d",Player[playerid][pModel]);
        
    format(src,sizeof(src)," WHERE Name = '%s'",Player[playerid][pName]); strcat(querysrcsizeof(query));
        
    mysql_function_query(ConnectMySQLqueryfalse"""");
        return 
    true;

    Запятые не расставил. А перед WHERE ее не надо. Но тут стоил сделать одно форматирование. Например, так.

    PHP код:
    stock SaveData(playerid)
    {
        static const 
    fmt_str[] = "UPDATE `acc` SET Member = '%d', Rank = '%d', Model  = '%d' WHERE Name = '%s'";
        new 
    str[sizeof(fmt_str) - 2*+MAX_PLAYER_NAME];
        
    format(strsizeof(str), fmt_strPlayer[playerid][pMember], Player[playerid][pRank], Player[playerid][pModel], Player[playerid][pName]);
        
    mysql_function_query(ConnectMySQLqueryfalse"""");


  7. #7
    Аватар для HarrWe
    Пользователь

    Статус
    Оффлайн
    Регистрация
    29.05.2016
    Сообщений
    144
    Репутация:
    11 ±
    Цитата Сообщение от Anton Styazhkin Посмотреть сообщение
    PHP код:
    stock SaveData(playerid)
    {
        new 
    src[1000],query[1400];
        
    format(query,sizeof(query),"UPDATE `acc` SET");
        
    format(srcsizeof(src), "Member = '%d',"Player[playerid][pMember]); strcat(querysrcsizeof(query));
        
    printf("Фракция: %d"Player[playerid][pMember]);
        
    format(srcsizeof(src), "Rank = '%d',"Player[playerid][pRank]); strcat(querysrcsizeof(query));
        
    printf("Ранг: %d",Player[playerid][pRank]);
        
    format(srcsizeof(src), "Model  = '%d'"Player[playerid][pModel]); strcat(querysrcsizeof(query));
        
    printf("Скин фракции: %d",Player[playerid][pModel]);
        
    format(src,sizeof(src)," WHERE Name = '%s'",Player[playerid][pName]); strcat(querysrcsizeof(query));
        
    mysql_function_query(ConnectMySQLqueryfalse"""");
        return 
    true;

    Запятые не расставил. А перед WHERE ее не надо. Но тут стоил сделать одно форматирование. Например, так.

    PHP код:
    stock SaveData(playerid)
    {
        static const 
    fmt_str[] = "UPDATE `acc` SET Member = '%d', Rank = '%d', Model  = '%d' WHERE Name = '%s'";
        new 
    str[sizeof(fmt_str) - 2*+MAX_PLAYER_NAME];
        
    format(strsizeof(str), fmt_strPlayer[playerid][pMember], Player[playerid][pRank], Player[playerid][pModel], Player[playerid][pName]);
        
    mysql_function_query(ConnectMySQLqueryfalse"""");

    Всё равно не сохранило, по 0 в базе

  8. #8
    Аватар для BadPawn
    Пользователь

    Статус
    Оффлайн
    Регистрация
    15.01.2016
    Адрес
    Приморье, Спасск-Дальний
    Сообщений
    165
    Репутация:
    7 ±
    PHP код:
    stock SaveData(playerid)
    {
        new 
    src[1000],query[1400];
        
    format(query,sizeof(query),"UPDATE `acc` SET");
        
    format(srcsizeof(src), "`Member` = '%d',"Player[playerid][pMember]); strcat(querysrcsizeof(query));
        
    printf("Фракция: %d"Player[playerid][pMember]);
        
    format(srcsizeof(src), "`Rank` = '%d',"Player[playerid][pRank]); strcat(querysrcsizeof(query));
        
    printf("Ранг: %d",Player[playerid][pRank]);
        
    format(srcsizeof(src), "`Model`  = '%d'"Player[playerid][pModel]); strcat(querysrcsizeof(query));
        
    printf("Скин фракции: %d",Player[playerid][pModel]);
        
    format(src,sizeof(src)," WHERE `Name` = '%s'",Player[playerid][pName]); strcat(querysrcsizeof(query));
        
    mysql_function_query(ConnectMySQLqueryfalse"""");
        return 
    true;


  9. Пользователь сказал cпасибо:
    HarrWe (09.06.2016)
  10. #9
    Аватар для HarrWe
    Пользователь

    Статус
    Оффлайн
    Регистрация
    29.05.2016
    Сообщений
    144
    Репутация:
    11 ±
    Цитата Сообщение от BadPawn Посмотреть сообщение
    PHP код:
    stock SaveData(playerid)
    {
        new 
    src[1000],query[1400];
        
    format(query,sizeof(query),"UPDATE `acc` SET");
        
    format(srcsizeof(src), "`Member` = '%d',"Player[playerid][pMember]); strcat(querysrcsizeof(query));
        
    printf("Фракция: %d"Player[playerid][pMember]);
        
    format(srcsizeof(src), "`Rank` = '%d',"Player[playerid][pRank]); strcat(querysrcsizeof(query));
        
    printf("Ранг: %d",Player[playerid][pRank]);
        
    format(srcsizeof(src), "`Model`  = '%d'"Player[playerid][pModel]); strcat(querysrcsizeof(query));
        
    printf("Скин фракции: %d",Player[playerid][pModel]);
        
    format(src,sizeof(src)," WHERE `Name` = '%s'",Player[playerid][pName]); strcat(querysrcsizeof(query));
        
    mysql_function_query(ConnectMySQLqueryfalse"""");
        return 
    true;

    Огромное спасибо)Ща пойду искать отличия от своего кода)

  11. #10
    Аватар для BadPawn
    Пользователь

    Статус
    Оффлайн
    Регистрация
    15.01.2016
    Адрес
    Приморье, Спасск-Дальний
    Сообщений
    165
    Репутация:
    7 ±
    запрос твой: Member = '%d'
    Не соблюден синтаксис запроса, поэтому mysql ругается и криво сохраняет.

    запрос правильный: `Member` = '%d'

  12. Пользователь сказал cпасибо:
    HarrWe (10.06.2016)
 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •