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

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

    Ошибка в mysql_log при заходе на сервер. #2

    Здравствуйте. Извините, что создаю новую тему, но ошибку я исправить ни как не могу.
    Сама ошибка возникает в mysql_log при заходе на сервер:
    PHP код:
    [ERRORmysql_escape_string destination size is too small (must be at least as big as source
    Когда я создал 1 тему, проблема была в том, что я не правильно обозначил никнейм игрока в define. После чего ошибка исчезла. Сейчас она стала снова появляться, и я не понимаю что не так в этом коде:
    PHP код:
    public OnPlayerConnect(playerid)
    {
        new 
    strcon[128];
        
    GetPlayerName(playeriduInfo[playerid][uName], MAX_PLAYER_NAME);
        
    mysql_real_escape_string(uInfo[playerid][uName], uInfo[playerid][uName]);
        
    format(strconsizeof(strcon), "SELECT `uPerson` FROM `accounts` WHERE `uPerson` = '%s'"uNick(playerid));
        
    mysql_function_query(connbasestrcontrue"OnPlayerRegCheck""d"playerid);
        return 
    true;

    Сам define:
    PHP код:
    #define uNick(%0)     uInfo[%0][uName] 

  2. #2
    Аватар для Osetin
    •Администратор•

    Статус
    Оффлайн
    Регистрация
    26.03.2013
    Адрес
    ♔Osetia, Vladikavkaz♔
    Сообщений
    3,432
    Репутация:
    1093 ±
    Используйте mysql_format или просто измените размер mysql_escape_string.

  3. Пользователь сказал cпасибо:
    Rachade (05.08.2014)
  4. #3
    Аватар для Rachade
    Пользователь

    Статус
    Оффлайн
    Регистрация
    26.07.2014
    Сообщений
    20
    Репутация:
    1 ±
    Цитата Сообщение от Osetin Посмотреть сообщение
    Используйте mysql_format или просто измените размер mysql_escape_string.
    PHP код:
        //mysql_real_escape_string(uInfo[playerid][uName], uInfo[playerid][uName]);
        
    mysql_format(connbasestrconsizeof(strcon), "SELECT `uPerson` FROM `accounts` WHERE `uPerson` = '%e'"uNick(playerid)); 
    Сделал вот так. Ошибка пропала, но позиция камеры перестала работать. И игрок спавнится только через кнопку SPAWN (после авторизации). А в чём разница между mysql_escape_string и mysql_real_escape_string, и как у этой функции изменить размер?

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

    Статус
    Оффлайн
    Регистрация
    26.07.2014
    Сообщений
    20
    Репутация:
    1 ±
    PHP код:
    new strcon[128];
    GetPlayerName(playeriduInfo[playerid][uName], MAX_PLAYER_NAME);
    format(strconsizeof(strcon), "SELECT `uPerson` FROM `accounts` WHERE `uPerson` = '%s'"uNick(playerid));
    mysql_function_query(connbasestrcontrue"OnPlayerRegCheck""d"playerid); 
    Я решил немного поэкспериментировать, удалил вообще mysql_real_escape_string, а формат оставил обычным.
    И всё работает Камера при входе стоит там, где я назначил, и после авторизации не нужно нажимать кнопку SPAWN.

  6. #5
    Аватар для Osetin
    •Администратор•

    Статус
    Оффлайн
    Регистрация
    26.03.2013
    Адрес
    ♔Osetia, Vladikavkaz♔
    Сообщений
    3,432
    Репутация:
    1093 ±
    Цитата Сообщение от Rachade Посмотреть сообщение
    PHP код:
    new strcon[128];
    GetPlayerName(playeriduInfo[playerid][uName], MAX_PLAYER_NAME);
    format(strconsizeof(strcon), "SELECT `uPerson` FROM `accounts` WHERE `uPerson` = '%s'"uNick(playerid));
    mysql_function_query(connbasestrcontrue"OnPlayerRegCheck""d"playerid); 
    Я решил немного поэкспериментировать, удалил вообще mysql_real_escape_string, а формат оставил обычным.
    И всё работает Камера при входе стоит там, где я назначил, и после авторизации не нужно нажимать кнопку SPAWN.
    А кто вам сказал вообще ее добавлять?

  7. Пользователь сказал cпасибо:
    Rachade (05.08.2014)
  8. #6
    Аватар для Rachade
    Пользователь

    Статус
    Оффлайн
    Регистрация
    26.07.2014
    Сообщений
    20
    Репутация:
    1 ±
    Цитата Сообщение от Osetin Посмотреть сообщение
    А кто вам сказал вообще ее добавлять?
    Вы
    http://pro-pawn.ru/showthread.php?47...SQL-R7-0-3x%29

    - - - Добавлено - - -

    Я только учусь работать в MySQL.
    В public OnPlayerConnect(playerid):
    PHP код:
    new str[128];   
    mysql_real_escape_string(Name(playerid), Name(playerid));   
    format(strsizeof(str),"SELECT `Name` FROM `Accounts` WHERE `Name` = '%s'"Name(playerid));   
    mysql_function_query(connectionHandlestrtrue"OnPlayerRegCheck","d"playerid); 

 

 

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

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

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

Ваши права

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