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

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

    Отличия format и mysql_format?

    Функция mysql_format отличается от функции format наличием спецификатора "%e" который экранирует введенные данные без использования функции mysql_escape_string. Для каких данных использовать данный спецификатор? И актуально ли это в последних версиях mysql плагина?
    Последний раз редактировалось Redsan; 22.06.2016 в 22:58.

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

    Статус
    Оффлайн
    Регистрация
    09.09.2015
    Сообщений
    541
    Репутация:
    78 ±
    Есть специальный спецификатор %e - строка, которую необходимо почистить от возможной SQL инъекции. Так же можно попросить MySQL перезагрузить таблицы пользовательских привилегий.

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

    Статус
    Оффлайн
    Регистрация
    24.12.2013
    Сообщений
    116
    Репутация:
    14 ±
    %q решает ту же проблему, так что уже ничем не отличаются.

  4. #4
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    Цитата Сообщение от Prolific Посмотреть сообщение
    %q решает ту же проблему, так что уже ничем не отличаются.
    %q в format и %e в mysql_format делались для разных СУБД. Пока что в их работе отличий нет, но не факт, что они будут работать одинаково и в будущем.
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

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

    Статус
    Оффлайн
    Регистрация
    24.12.2013
    Сообщений
    116
    Репутация:
    14 ±
    Цитата Сообщение от Daniel_Cortez Посмотреть сообщение
    %q в format и %e в mysql_format делались для разных СУБД. Пока что в их работе отличий нет, но не факт, что они будут работать одинаково и в будущем.
    СУБД разные, принцип тот же.

  6. #6
    Аватар для Mist
    Пользователь

    Статус
    Оффлайн
    Регистрация
    20.12.2015
    Сообщений
    14
    Репутация:
    0 ±
    Цитата Сообщение от Daniel_Cortez Посмотреть сообщение
    %q в format и %e в mysql_format делались для разных СУБД. Пока что в их работе отличий нет, но не факт, что они будут работать одинаково и в будущем.
    То есть если использовать mysql_format, то можно не писать mysql_real_escape?

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

    Статус
    Оффлайн
    Регистрация
    07.06.2016
    Адрес
    Minsk, Belarus
    Сообщений
    78
    Репутация:
    15 ±
    PHP код:
    static const fmt_str[] = "UPDATE `accounts` SET `player_name` = '%s', `password` = '%s' WHERE `id` = '%d'";
    new 
    query[sizeof(fmt_str) + (-2+MAX_PLAYER_NAME-2+32-2+11)];
    mysql_format(mysql_connect_idquerysizeof(query), fmt_strpInfo[playerid][pName], pInfo[playerid][pPassword], pInfo[playerid][pID]);
    mysql_function_query(mysql_connect_idqueryfalse"",""); 
    Почему при использовании static const компилятор сообщает о неизвестном типе аргумента 4 в mysql_format?
    Последний раз редактировалось Redsan; 24.06.2016 в 22:48.

  8. #8
    Аватар для VVWVV
    ?

    Статус
    Оффлайн
    Регистрация
    09.07.2015
    Сообщений
    731
    Репутация:
    353 ±
    Цитата Сообщение от Redsan Посмотреть сообщение
    PHP код:
    static const fmt_str[] = "UPDATE `accounts` SET `player_name` = '%s', `password` = '%s' WHERE `id` = '%d'";
    new 
    query[sizeof(fmt_str) + (-2+MAX_PLAYER_NAME-2+64-2+32-2+11)];
    mysql_format(mysql_connect_idquerysizeof(query), fmt_strpInfo[playerid][pName], pInfo[playerid][pPassword], pInfo[playerid][pID]);
    mysql_function_query(mysql_connect_idqueryfalse"",""); 
    Почему при использовании static const компилятор сообщает о неизвестном типе аргумента 4 в mysql_format?
    Используй просто static.

  9. 2 пользователя(ей) сказали cпасибо:
    #enotya (26.01.2018) Redsan (25.06.2016)
 

 

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

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

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

Ваши права

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