Форум Pawn.Wiki - Воплоти мечту в реальность!: Подсчет формат. запроса для string - Форум Pawn.Wiki - Воплоти мечту в реальность!

Перейти к содержимому

Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

[ Pawn ]
Подсчет формат. запроса для string

#1
Пользователь офлайн   seriydikiy 

  • Местный
  • Вставить ник
  • Раскрыть информацию
Всем привет.

INSERT INTO `admins` (`aName`, `aPassword`, `aSalt`, `aRegDate`, `aLastDate`, `aRegTime`, `aLastTime`, `aRegIp`, `aLastIp`) VALUES ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s')


Сам запрос = 185 символам
Имя = 24
Пароль = 64 (хэш)
Соль = 10
Даты = 10 + 10
Время = 8 + 8
Айпи = 15 + 15
Нуль = 1

Итог: 350


Я думаю, что-то не так. Просьба меня подправить, если есть возможность и желание
0

#2
Пользователь офлайн   seriydikiy 

  • Местный
  • Вставить ник
  • Раскрыть информацию
Пересчитал и получилось 294. Ваш результат совпал с моим?
0

#3
Пользователь онлайн   M I S T E V 

  • Вставить ник
  • Раскрыть информацию
В нормальном редакторе кода есть возможность выделить текст и тебе отобразит количество выделенных символов. Это минимум, а ещё есть сайты, которые могут подсчитать символы, но также есть такой способ:

static const string[] = "INSERT INTO `admins` (`aName`, `aPassword`, `aSalt`, `aRegDate`, `aLastDate`, `aRegTime`, `aLastTime`, `aRegIp`, `aLastIp`) VALUES ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s')";

new query[sizeof string+(-2+SIZE)];


Где место SIZE подставляешь максимальный размер значения, которое должно подставиться на %s (и им подобным). Теперь повторяешь "+(-2+SIZE)" столько раз, сколько у тебя спецификаторов, подставляя нужный размер

Сообщение отредактировал M I S T E V: 13 марта 2025 - 14:44

0

#4
Пользователь офлайн   seriydikiy 

  • Местный
  • Вставить ник
  • Раскрыть информацию
Еще вопрос. Апострофы здесь
VALUES ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s')";
должны присутствовать обязательно?
0

#5
Пользователь онлайн   M I S T E V 

  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияseriydikiy (13 марта 2025 - 14:51) писал:

Еще вопрос. Апострофы здесь
VALUES ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s')";
должны присутствовать обязательно?

Да, исключение, если ты хочешь использовать значение из самой базы данных, например NULL или UNIX_TAMPSTAMP() - для подобных значений они не нужны

Сообщение отредактировал M I S T E V: 13 марта 2025 - 14:53

1

#6
Пользователь офлайн   seriydikiy 

  • Местный
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияM I S T E V (13 марта 2025 - 14:52) писал:

Да

Я понял, спасибо
0

#7
Пользователь офлайн   DeimoS 

  • Evil Scripter
  • Вставить ник
  • Раскрыть информацию
Для INSERT лучше использовать синтаксис с SET, если ты не планируешь множественную вставку делать через один запрос.
То бишь
INSERT INTO 
    admins
SET
    aName='%s',
    aPassword='%s',
    aSalt='%s',
    aRegDate='%s',
    aLastDate='%s',
    aRegTime='%s',
    aLastTime='%s',
    aRegIp='%s',
    aLastIp='%s'

Это гораздо нагляднее и удобнее для редактирования.

Просмотр сообщенияseriydikiy (13 марта 2025 - 14:51) писал:

Еще вопрос. Апострофы здесь
VALUES ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s')";
должны присутствовать обязательно?


Если передаёшь текст - да. Если числа - не обязательно.
Грависом названия столбцов/таблиц так же нужно выделять либо когда в названии есть пробел, либо когда название идентично "служебным" словам самой MySQL (по типу "insert", "dec", "int" и т.п.)
1

Поделиться темой:


Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей


Яндекс.Метрика