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

    Статус
    Оффлайн
    Регистрация
    15.06.2016
    Сообщений
    1
    Репутация:
    0 ±

    Ошибка при сохранении аккаунта

    При сохранении аккаунта вот такая ошибка
    [07:43:13] [ERROR] CMySQLQuery::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 '`Referal` = ,`Nation` = 0,`Passport` = 0,`Member` = 0,`Rank` = 0,`Model` = 0,`Pa' at line 1
    В этом стоке

    PHP код:
    stock SavePlayer(i)
    {
        new 
    scr[280];
        new 
    string[330];
        
    f("UPDATE `accounts` SET");
        
    format(scrsizeof(scr), "`Level` = %d,",         Player[i][pLevel]);
        
    strcat(stringscr);
        
    format(scrsizeof(scr), "`Skin` = %d,",         Player[i][pSkin]);
        
    strcat(stringscr);
        
    format(scrsizeof(scr), "`Sex` = %d,",         Player[i][pSex]);
        
    strcat(stringscr);
        
    format(scrsizeof(scr), "`Money` = %d,",         Player[i][pMoney]);
        
    strcat(stringscr);
        
    format(scrsizeof(scr), "`Admin` = %d,",         Player[i][pAdmin]);
        
    strcat(stringscr);
        
    format(scrsizeof(scr), "`Exp` = %d,",         Player[i][pExp]);
        
    strcat(stringscr);
        
    format(scrsizeof(scr), "`Age` = %d,",         Player[i][pAge]);
        
    strcat(stringscr);
        
    format(scrsizeof(scr), "`Mail` = %s,",         Player[i][pMail]);
        
    strcat(stringscr);
        
    format(scrsizeof(scr), "`Referal` = %s,",     Player[i][pReferal]);
        
    strcat(stringscr);
        
    format(scrsizeof(scr), "`Nation` = %d,",         Player[i][pNation]);
        
    strcat(stringscr);
        
    format(scrsizeof(scr), "`Passport` = %d,",     Player[i][pPassport]);
        
    strcat(stringscr);
        
    format(scrsizeof(scr), "`Member` = %d,",         Player[i][pMember]);
        
    strcat(stringscr);
        
    format(scrsizeof(scr), "`Rank` = %d,",        Player[i][pRank]);
        
    strcat(stringscr);
        
    format(scrsizeof(scr), "`Model` = %d,",         Player[i][pModel]);
        
    strcat(stringscr);
        
    format(scr,sizeof(scr),  "`Pass` = '%s,'",        Player[i][pPass]);
        
    strcat(string,scr);
        
    format(scrsizeof(scr), "WHERE `Name` = '%s'"Player[i][pName]);
        
    strcat(stringscrsizeof(string));
        
    mysql_function_query(ConnectMySQLstringfalse"""");
        
    Player[i][pMoney] = Money(i);


  2. #2
    Аватар для ziggi
    Проверенный

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,181
    Репутация:
    790 ±
    Не хватает размера string.
    P.S. У тебя ещё лишняя запятая в Pass и нет пробела после SET и перед WHERE.

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

    Статус
    Оффлайн
    Регистрация
    15.05.2016
    Сообщений
    34
    Репутация:
    0 ±
    PHP код:
    stock SavePlayer(i)
    {
        new 
    scr[43];
        new 
    string[181+112]; //Подсчитал точное кол-во использованных ячеек
        
    f("UPDATE `accounts` SET ");
        
    format(scrsizeof(scr), "`Level` = %d,",         Player[i][pLevel]);
        
    strcat(stringscr);
        
    format(scrsizeof(scr), "`Skin` = %d,",         Player[i][pSkin]);
        
    strcat(stringscr);
        
    format(scrsizeof(scr), "`Sex` = %d,",         Player[i][pSex]);
        
    strcat(stringscr);
        
    format(scrsizeof(scr), "`Money` = %d,",         Player[i][pMoney]);
        
    strcat(stringscr);
        
    format(scrsizeof(scr), "`Admin` = %d,",         Player[i][pAdmin]);
        
    strcat(stringscr);
        
    format(scrsizeof(scr), "`Exp` = %d,",         Player[i][pExp]);
        
    strcat(stringscr);
        
    format(scrsizeof(scr), "`Age` = %d,",         Player[i][pAge]);
        
    strcat(stringscr);
        
    format(scrsizeof(scr), "`Mail` = %s,",         Player[i][pMail]);
        
    strcat(stringscr);
        
    format(scrsizeof(scr), "`Referal` = %s,",     Player[i][pReferal]);
        
    strcat(stringscr);
        
    format(scrsizeof(scr), "`Nation` = %d,",         Player[i][pNation]);
        
    strcat(stringscr);
        
    format(scrsizeof(scr), "`Passport` = %d,",     Player[i][pPassport]);
        
    strcat(stringscr);
        
    format(scrsizeof(scr), "`Member` = %d,",         Player[i][pMember]);
        
    strcat(stringscr);
        
    format(scrsizeof(scr), "`Rank` = %d,",        Player[i][pRank]);
        
    strcat(stringscr);
        
    format(scrsizeof(scr), "`Model` = %d,",         Player[i][pModel]);
        
    strcat(stringscr);
        
    format(scr,sizeof(scr),  "`Pass` = '%s'",        Player[i][pPass]);
        
    strcat(string,scr);
        
    format(scrsizeof(scr), " WHERE `Name` = '%s'"Player[i][pName]);
        
    strcat(stringscrsizeof(string));
        
    mysql_function_query(ConnectMySQLstringfalse"""");
        
    Player[i][pMoney] = Money(i);


  4. #4
    Аватар для Found
    G

    Статус
    Оффлайн
    Регистрация
    18.05.2016
    Адрес
    041b0438043f04
    Сообщений
    35
    Репутация:
    9 ±
    Для чего использовать несколько раз функции format и strcat, когда можно сделать всё в одной.

    Поправил ошибки.
    PHP код:
        formatstringsizeof string
        
    "UPDATE `accounts`\
         SET\
            `Level` = %d,\
            `Skin` = %d,\
            `Sex` = %d,\
            `Money` = %d,\
            `Admin` = %d,\
            `Exp` = %d,\
            `Age` = %d,\
            `Mail` = '%s',\
            `Referal` = '%s',\
            `Nation` = %d,\
            `Passport` = %d,\
            `Member` = %d,\
            `Rank` = %d,\
            `Model` = %d,\
            `Pass` = '%s'\
         WHERE `Name` = '%s'"
    ,
            
    Player[i][pLevel],
            
    Player[i][pSkin],
            
    Player[i][pSex],
            
    Player[i][pMoney],
            
    Player[i][pExp],
            
    Player[i][pAge],
            
    Player[i][pMail],
            
    Player[i][pReferal],
            
    Player[i][pNation],
            
    Player[i][pPassport],
            
    Player[i][pMember],
            
    Player[i][pRank],
            
    Player[i][pModel],
            
    Player[i][pPass],
            
    Player[i][pName]
         );

        
    mysql_function_queryConnectMySQLstringfalse"""" ); 

 

 

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

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

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

Ваши права

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