Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Парсер запросов для БД. 
:(
    Опции темы
Wowa
Дата 22.9.2005, 02:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



Есть к примеру запрос:
Код

SELECT * FROM vs_tree WHERE cid = 6 ORDER BY cid ASC LIMIT 1


Нужен парсер, который бы вставлял доп. условие. А именно: AND owner=2

Код

SELECT * FROM vs_tree WHERE cid = 6 AND owner=2 ORDER BY cid ASC LIMIT 1



Запросы могут быть совершено разные по структуре и не только на выборку, а и на удаление, апдейт и т.п.
PM WWW   Вверх
Wowa
Дата 22.9.2005, 02:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



При Insert конечно же не надо.
PM WWW   Вверх
Mal Hack
Дата 22.9.2005, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 11
Всего: 261



А просто регулярками не пробовал?
PM ICQ   Вверх
Wowa
Дата 22.9.2005, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



Mal Hack не пробовал smile
PM WWW   Вверх
Mal Hack
Дата 22.9.2005, 11:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 11
Всего: 261



Код

<?php

 $sql = "SELECT * FROM `vs_tree` WHERE cid = 6 ORDER BY cid ASC LIMIT 1";

 $table = "vs_tree";
 $sql = preg_replace( "#(.+?FROM\s`vs_tree`.+?)(ORDER.+?)#i" , "\\1 AND owner=2 \\2" , $sql );

 print $sql;

?>

PM ICQ   Вверх
Wowa
Дата 22.9.2005, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



спасибо, попробую
PM WWW   Вверх
Wowa
Дата 22.9.2005, 14:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



Mal Hack при UPDATE не работает.
А также, если нет WHERE в запросе, то он его не добавляет
PM WWW   Вверх
Mal Hack
Дата 22.9.2005, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 11
Всего: 261



Код

<?php

 $sql = "UPDATE `vs_tree` WHERE cid = 6 ORDER BY cid ASC LIMIT 1";

 $sql = preg_replace( "#((?:UPDATE|.+?FROM)\s`vs_tree`.+?)(ORDER.+?|$|LIMIT|GROUP BY)#i" , "\\1 AND owner=2 \\2" , $sql );

 print $sql;

?>

PM ICQ   Вверх
Sardar
Дата 22.9.2005, 22:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: нет
Всего: 317



Здесь есть парсер SQL: http://sourceforge.net/projects/txtsql


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0515 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.