Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |

03.02.2008, 23:49
|
|
Time out
Регистрация: 28.11.2005
Сообщений: 547
Провел на форуме: 2320925
Репутация:
1348
|
|
Like и деление базы
Вообщем, в процесе творческой работы возникла необходимость достать базу через SQL-Injection.
Проблема: необходимо достать всю базу.
Предпосылки: скуля выводит только одну строку (это я решил скриптом), сама скуля в mod_rewrite => передача методом POST невозможна. Скрипт для вытягивания организован по принципу where+table_name+not+in+(....). Соответственно, рано или поздно длина запроса становится предельно допустимой и мой скрипт тупо дохнет. Никаких средств для работы с БД не имеется. Вопрос - как решить проблему - желательно - составление грамотного SQL запроса, который не увеличивет длину GET-запроса, а держит ее примерно одинаковой.
P. S. MySQL
__________________
Нельзя считать себя достаточно взрослым, если у тебя школьные фотографии - цифровые.
|
|
|

03.02.2008, 23:50
|
|
Постоянный
Регистрация: 11.11.2006
Сообщений: 595
Провел на форуме: 1845062
Репутация:
1079
|
|
какая версия? Можно перебирать limit'ом
|
|
|

04.02.2008, 00:02
|
|
Members of Antichat - Level 5
Регистрация: 09.10.2006
Сообщений: 1,698
Провел на форуме: 9098076
Репутация:
4303
|
|
непонятно, наверное я глючу
покажи полностью запрос, что именно ты извлекаешь и зачем тебе конструкция not in
|
|
|

04.02.2008, 00:03
|
|
Time out
Регистрация: 28.11.2005
Сообщений: 547
Провел на форуме: 2320925
Репутация:
1348
|
|
Вопрос решен. Я в условии брал where > id сначала. Сейчас попробовал where = id. Работает. Опять же - просто поразмышлять. Как наиболее ровно при помощи LIKE поделить базу?
Понятно, что если будет отбирать по первой букве - кол-во строк в результате будет разным. А как при помощи LIKE сделать, чтобы практически одинаковые части?
Пример (условный):
avalone
alacurd
ariel
baracca
zero
Если LIKE 'a%' - 3 записи. - база поделена не ровно. Как (используя LIKE) на примере базы, например 10 000 записей, поделить поровну на 10 частей или на 20, например.
__________________
Нельзя считать себя достаточно взрослым, если у тебя школьные фотографии - цифровые.
Последний раз редактировалось 1ten0.0net1; 04.02.2008 в 00:06..
|
|
|

04.02.2008, 00:10
|
|
Постоянный
Регистрация: 11.11.2006
Сообщений: 595
Провел на форуме: 1845062
Репутация:
1079
|
|
а зачем его использовать? А count и limit не подойдут?
|
|
|

04.02.2008, 01:05
|
|
Time out
Регистрация: 28.11.2005
Сообщений: 547
Провел на форуме: 2320925
Репутация:
1348
|
|
Сообщение от Macro
а зачем его использовать? А count и limit не подойдут?
Понятно, что лимит можно - но он очень часто не катит. Меня интересует какие есть варианты решения через LIKE
__________________
Нельзя считать себя достаточно взрослым, если у тебя школьные фотографии - цифровые.
|
|
|

04.02.2008, 12:30
|
|
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме: 3660186
Репутация:
905
|
|
LIMIT'ом можно автоматизировать, а тут зависимость от предыдущего результата будет
Код:
where+table_name+not+like+'%table1%'+and+not+like+'%table2%'+and+not+like+'%table3%'+...
NOT IN () такая же вата, в принципе, лишь синтаксис иной.
Не-е, LIMIT лучше ))
|
|
|

04.02.2008, 15:10
|
|
Постоянный
Регистрация: 14.01.2007
Сообщений: 459
Провел на форуме: 1469995
Репутация:
589
|
|
Через Like точного разделения ты не сделаешь - это та же регулярка, в которой ты можешь указать что подходит, но не можешь сказать в каком количестве
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|