Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Like и деление базы (https://forum.antichat.xyz/showthread.php?t=60912)

1ten0.0net1 03.02.2008 23:49

Like и деление базы
 
Вообщем, в процесе творческой работы возникла необходимость достать базу через SQL-Injection.
Проблема: необходимо достать всю базу.
Предпосылки: скуля выводит только одну строку (это я решил скриптом), сама скуля в mod_rewrite => передача методом POST невозможна. Скрипт для вытягивания организован по принципу where+table_name+not+in+(....). Соответственно, рано или поздно длина запроса становится предельно допустимой и мой скрипт тупо дохнет. Никаких средств для работы с БД не имеется. Вопрос - как решить проблему - желательно - составление грамотного SQL запроса, который не увеличивет длину GET-запроса, а держит ее примерно одинаковой.

P. S. MySQL

Macro 03.02.2008 23:50

какая версия? Можно перебирать limit'ом

Spyder 04.02.2008 00:02

непонятно, наверное я глючу
покажи полностью запрос, что именно ты извлекаешь и зачем тебе конструкция not in

1ten0.0net1 04.02.2008 00:03

Вопрос решен. Я в условии брал where > id сначала. Сейчас попробовал where = id. Работает. Опять же - просто поразмышлять. Как наиболее ровно при помощи LIKE поделить базу?
Понятно, что если будет отбирать по первой букве - кол-во строк в результате будет разным. А как при помощи LIKE сделать, чтобы практически одинаковые части?

Пример (условный):
avalone
alacurd
ariel
baracca
zero

Если LIKE 'a%' - 3 записи. - база поделена не ровно. Как (используя LIKE) на примере базы, например 10 000 записей, поделить поровну на 10 частей или на 20, например.

Macro 04.02.2008 00:10

а зачем его использовать? А count и limit не подойдут?

1ten0.0net1 04.02.2008 01:05

Цитата:

Сообщение от Macro
а зачем его использовать? А count и limit не подойдут?

Понятно, что лимит можно - но он очень часто не катит. Меня интересует какие есть варианты решения через LIKE

krypt3r 04.02.2008 12:30

LIMIT'ом можно автоматизировать, а тут зависимость от предыдущего результата будет
Код:

where+table_name+not+like+'%table1%'+and+not+like+'%table2%'+and+not+like+'%table3%'+...
NOT IN () такая же вата, в принципе, лишь синтаксис иной.
Не-е, LIMIT лучше ))

Helios 04.02.2008 15:10

Через Like точного разделения ты не сделаешь - это та же регулярка, в которой ты можешь указать что подходит, но не можешь сказать в каком количестве


Время: 20:40