
15.06.2009, 20:44
|
|
Banned
Регистрация: 11.10.2006
Сообщений: 682
С нами:
10306406
Репутация:
271
|
|
Сообщение от budden
подскажите, есть ли какяа-нибудь в mysql функция, которая сделает следующее:
есть поле скажем password - чтобы она выдала например сумму всех кодов символов в поле?
Т.е. если там "admin" - соотв-но в charах это Char(97,100,109,105,110) - то пусть бы она выдала сумму всех этих цифр.
Нужно, чтобы быстро проверить правильность выуженного содержимого поля при сложной блайндовой инъекции. Или любая другая функция, подсчитывающая что-нибудь короткое в кач-ве хэша от поля.
Есть что-нибудь короче, чем crc32()?
Расписать поле чаром?!
|
|
|

15.06.2009, 21:02
|
|
Участник форума
Регистрация: 26.07.2008
Сообщений: 267
С нами:
9364549
Репутация:
184
|
|
Сообщение от a1ex
Расписать поле чаром?!
не, нужно чтобы вывод функции был как можно короче - желательно до 5 символов. Иначе их очень долго вручную перебирать, а автоматизировать не получится - там только порядок вывода строк меняется.
Хотя, отбой, можно ведь сделать md5() того поля и посмотреть первые 2-3 символа на правильность - и по ним определить, что весь хэш верно выужен или нет, т.к. мд5 бы сильно поменялся если хоть один символ неправильно вытянул я.
Последний раз редактировалось budden; 15.06.2009 в 21:09..
|
|
|

18.06.2009, 20:36
|
|
Участник форума
Регистрация: 11.09.2008
Сообщений: 107
С нами:
9296442
Репутация:
21
|
|
Есть в базе три поля
id int primary key auto_increment
Fname varchar 50
Lname varchar 50
записи переодически добавляются и удаляются
как сделать так что поле id пересчитывалось т.е. я удаляю первые 10 записей и id первого поля получается равен 11, а не 1. Как сделать так чтоб данное поле пересчитывалось. Извините за кривое объяснение, но надеюсь вы меня поняли.
|
|
|

18.06.2009, 21:03
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
С нами:
9649706
Репутация:
3338
|
|
подскажите, есть ли какяа-нибудь в mysql функция
Код:
http://rio.edu/news/index.php?key=-1+UNION+SELECT+1,2,version(),4,5
http://rio.edu/news/index.php?key=-1+UNION+SELECT+1,2,char_length(version()),4,5
=================================
Сообщение от Gin
Есть в базе три поля
id int primary key auto_increment
Fname varchar 50
Lname varchar 50
записи переодически добавляются и удаляются
как сделать так что поле id пересчитывалось т.е. я удаляю первые 10 записей и id первого поля получается равен 11, а не 1. Как сделать так чтоб данное поле пересчитывалось. Извините за кривое объяснение, но надеюсь вы меня поняли.
никак, ибо никому нафинг не надо. Вопрос уже обсуждался миллиард раз. И еще один разик.
|
|
|

18.06.2009, 21:07
|
|
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
С нами:
10021597
Репутация:
905
|
|
Ну почему же никак. Если удаляются все записи из таблицы, то перед вставкой новых записей можно заюзать
Если же удаляются не все записи, то этого делать не рекомендуется.
Имхо, трогать AUTO_INCREMENT не нужно, пусть его живет =)
Последний раз редактировалось krypt3r; 18.06.2009 в 21:10..
|
|
|

18.06.2009, 21:09
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
С нами:
9649706
Репутация:
3338
|
|
Клёвый способ 
|
|
|

19.06.2009, 01:12
|
|
Участник форума
Регистрация: 11.09.2008
Сообщений: 107
С нами:
9296442
Репутация:
21
|
|
2Pashkela
не мог бы ты указать где обсуждался :?
|
|
|

19.06.2009, 10:17
|
|
Постоянный
Регистрация: 03.06.2009
Сообщений: 385
С нами:
8915117
Репутация:
389
|
|
Сообщение от Gin
записи переодически добавляются и удаляются
как сделать так что поле id пересчитывалось т.е. я удаляю первые 10 записей и id первого поля получается равен 11, а не 1. Как сделать так чтоб данное поле пересчитывалось. Извините за кривое объяснение, но надеюсь вы меня поняли.
А что тут сложного?
Если ты удаляешь часть данных, то первый id будет до которого ты удалил. Т.е. удалил 10, 1ый id станет 11
Если удаляешь всё, то через
ALTER TABLE table AUTO_INCREMENT=1; //вместо 1 - нужный Id
Обновишь автоинкремент на нужный id и дальше продолжай вносить. Или как альтернатива - хранить счётчик id и вручну его увеличить и присваивать значение записям
|
|
|

19.06.2009, 17:31
|
|
Участник форума
Регистрация: 01.02.2007
Сообщений: 286
С нами:
10143686
Репутация:
526
|
|
Сообщение от FireFenix
А что тут сложного?
Если ты удаляешь часть данных, то первый id будет до которого ты удалил. Т.е. удалил 10, 1ый id станет 11
Если удаляешь всё, то через
ALTER TABLE table AUTO_INCREMENT=1; //вместо 1 - нужный Id
Обновишь автоинкремент на нужный id и дальше продолжай вносить. Или как альтернатива - хранить счётчик id и вручну его увеличить и присваивать значение записям
Бред... И вопрос, и ответ.
Интересно сколько раз еще это будут спрашивать.
И сколько раз будут пытаться на это ответить с умным видом?
Оно у вас что - есть просит что ли, чем вам мешает такая нумерация?
А так же неплохо было бы воспользоваться поиском - стотыщмильонаф раз отвечали на этот вопрос, в том числе и я:
https://forum.antichat.ru/showpost.p...8&postcount=71
|
|
|

25.06.2009, 14:13
|
|
Познавший АНТИЧАТ
Регистрация: 01.05.2006
Сообщений: 1,021
С нами:
10541186
Репутация:
921
|
|
есть cтруктура базы
не могу составить заапрос чтоб сгруппировать записи по дате и получить массив типа
Код:
дата 1
-ид 1
-дата 1
-текст 1
---------
-ид 2
-дата 1
-текст 2
------------
дата 2
-ид 3
-дата 2
-текст 3
----------
-ид 4
-дата 2
-текст 4
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|