Парсинг sql запросв

IMW

Guest
Парсинг sql запросв

есть запрос типа :
insert into `mytab` (name, city) VALUES ('[r_name]', '[cit]');
помогите выдрать из него в первый массив имена полей бд, а во второй имена полей формы.
в данном примере первый равет m1[0]=name, m1[1]=city, а второй m2[0]=r_name, m2[1]=cit. Заранее благодарен!
 

Demiurg

Guest
Интересно, а для чего это может понадобиться ?
 

IMW

Guest
что preg_match() я понимаю, но как.

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

Demiurg

Guest
а если админ сделает запрос "drop database db" ?
 

IMW

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

Линк

Guest
вот наконец то у тебя появилась возможность освоить регулярки
на практическом, сложном примере
потрать день - распарси сам
зато потом будешь так рубить в регулярках, что сам кому хочешь поможешь
 

IMW

Guest
да не сделает админ drop, он сначала быберает форму для которой будет запрос потом количество полей, на сслед странице ему textbox типа dbfield [input] = formfield[input] их там столько сколько админ выбрал в количестве полей, потом генерится запрос, а вот отредактировать его ??.. надо розпарсить, а у меня опыта маловато

-~{}~ 10.02.04 14:09:

я бы с радостью потратил и 2, но сроки прижимают
 

Demiurg

Guest
а зачем сначала составлять его, потом распарсивать ?
нельзя хранить его ввиде набора полей-значений сразу ?
 

IMW

Guest
нельзя, я пишу админку, клиента я не писал мне приходится подстраиватся по уже готовую систему, запросы должны быть уже в таком виде, так реально ли написать такой regexp?
 

Demiurg

Guest
>так реально ли написать такой regexp?
практически нет.
 

IMW

Guest
ясненько, жалко, может кто-то сделает то постите, думаю не только мне пригодится!
 

Blindman

Новичок
запросы чем будут друг от друга отличаться? именем таблицы? количеством выбираемых полей ? чем-то еще ?
 

IMW

Guest
больше ничем, только имя таблицы и кол-во полей, поля формы будут в [поле]
 

Blindman

Новичок
IMW
твоя задача решается тремя строками кода : одно элементарное регулярное выражение и два сплита. если непосильно - обрати внимание на совет young
 

Demiurg

Guest
Blindman
элементарное ? да сплита ? ну-ну ... ты сам попробуй.
 
Сверху