PawnoNoob
07.06.2020, 22:24
Всем привет. При подсчёте размера форматируемой строки (https://pro-pawn.ru/showthread.php?13388-%D0%9F%D0%BE%D0%B4%D1%81%D1%87%D1%91%D1%82-%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%80%D0%B0-%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%82%D0%B8%D1%80%D1%83%D0%B5%D0%BC%D0%BE%D0%B9-%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B8) MySQL запроса столкнулся с небольшой проблемой.
Выглядит это примерно так:
static const fmt_str[] = "SELECT `ID` FROM `acc` WHERE `Name` = '%e' LIMIT 1";
new string[sizeof(fmt_str) + (-2+MAX_PLAYER_NAME)];
format(string, sizeof(string), fmt_str, inputtext);
mysql_tquery(mysql, string, !"search_id", "is", playerid, inputtext);
При выводе запроса в консоль (printf) я вижу, что он выглядит так:
SELECT `ID` FROM `acc` WHERE `Name` = 'e' LIMIT 1
При этом с %s всё работает нормально. В чём проблема?
Версия MySQL: R41-4
Выглядит это примерно так:
static const fmt_str[] = "SELECT `ID` FROM `acc` WHERE `Name` = '%e' LIMIT 1";
new string[sizeof(fmt_str) + (-2+MAX_PLAYER_NAME)];
format(string, sizeof(string), fmt_str, inputtext);
mysql_tquery(mysql, string, !"search_id", "is", playerid, inputtext);
При выводе запроса в консоль (printf) я вижу, что он выглядит так:
SELECT `ID` FROM `acc` WHERE `Name` = 'e' LIMIT 1
При этом с %s всё работает нормально. В чём проблема?
Версия MySQL: R41-4