Опережающая негативная проверка

Vian

Guest
Опережающая негативная проверка

Всем привет!
Подскажите как правильно написать регулярное выражение, а то ничего не получается, все перерыл.

Есть SQL-запросы
1. "SELECT * FROM table LIMIT 0,10;"
2. "SELECT * FROM table;"
Нужно построить рег.выражение которые срабатывает на SELECT запрос без последующего LIMIT.

Пробую /SELECT(?!LIMIT)/i - не получается.

Заранее благодарен.
 

Vian

Guest
Автор оригинала: Tor
!is_integer(strpos("LIMIT",$str))
Это не то что нужно!

Нужно выделить именно SELECT-запрос без LIMIT, т.е. могут быть другие запросы (UPDATE и т.д.)
 

Tor

Новичок
тебе нужно, что бы рег на эти строчки давал разный результат?

пожалуйста
"~SELECT.*LIMIT~"
 

crocodile2u

http://vbolshov.org.ru
Один вопрос: зачем все это надо? Складывается впечатление, что автор пытается придумать некий "костыль" для решения некой проблемы. Но до тех пор, пока проблема неизвестна, никто не знает, можно ли ее решить другим, и, возможно, более удачным методом.
 

Vian

Guest
Автор оригинала: Tor
тебе нужно, что бы рег на эти строчки давал разный результат?

пожалуйста
"~SELECT.*LIMIT~"
Это конечно вариант, но мне интересно почему не работает /SELECT(?!LIMIT)/i, ума не приложу.

Может кто подскажет?
 

Vian

Guest
Автор оригинала: crocodile2u
Один вопрос: зачем все это надо? Складывается впечатление, что автор пытается придумать некий "костыль" для решения некой проблемы. Но до тех пор, пока проблема неизвестна, никто не знает, можно ли ее решить другим, и, возможно, более удачным методом.
crocodile2u я пишу web-интерфейс для MySQL (только не говори что есть много готовых, я все это знаю).
Естественно в нем должна быть возможность выполнять произвольные SQL-команды.
Так вот смысл это мини-задачи заключается в том чтобы организовать постаничный вывод информации от SELECT запросов. Что значит, если я ввожу "SELECT * FROM table", к запрос должно добавляться хвост " LIMIT 0,10".
Но если я ввиду "SELECT * FROM table LIMIT 0,10", то хвост не должен добавляться. Вот в чем и заключается смысл этой проверки.

Да, мне бы хотелось услышать ответ почему не работает именно предложенный мною вариант - спортивный интерес, а уже потом слышать его критику.

Заранее благодарен.
 

Tor

Новичок
почему не работает именно предложенный мною вариант
я кажется достаточно ясно перевел твой рег на русский язык, что бы понять, почему он не работает

организовать постаничный вывод информации
это не зависит от того, что написал пользователь
это зависит от количества записей, которые вернул запрос

если совсем хочется странностей, то посмотри исходники phpMyAdmin
 
Сверху