![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| SneG0K |
|
|||
|
Max Mara ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1887 Регистрация: 1.12.2007 Где: Wis Dells Репутация: 7 Всего: 54 |
Ребята, есть такая проблема: поступила ко мне на днях CMS.
Нужно к каждому запросу добавить префикс к имени таблицы. Вопрос: есть ли какая-нить регулярка или функция, которая этим занимается? Интересуют основные типы запросов (Select, insert, update, delete) В запросе может быть указана как одна таблица так и несколько. Добавлено @ 21:27 Да, сразу скажу, что менять более чем 15 тысяч запросов как-то не охота. Это сообщение отредактировал(а) SneG0K - 20.10.2010, 02:11 |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
а там разве не используется некий класс, обработчик?
|
|||
|
||||
| SneG0K |
|
|||
|
Max Mara ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1887 Регистрация: 1.12.2007 Где: Wis Dells Репутация: 7 Всего: 54 |
Да, действительно забыл указать.
Есть некий класс. В нем есть метод типа
|
|||
|
||||
| SneG0K |
|
|||
|
Max Mara ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1887 Регистрация: 1.12.2007 Где: Wis Dells Репутация: 7 Всего: 54 |
Решил составить регулярки
Выделил три группы SELECT запросов
При чем WHERE может как присутствовать так и отсутствовать. Помогите составить общее регулярное выражение, которое заменит имена таблиц на эти-же имена только с префиксами. Для INSERT, DELETE, UPDATE уже составил. А вот для SELECT пока затрудняюсь. |
|||
|
||||
| SneG0K |
|
|||
|
Max Mara ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1887 Регистрация: 1.12.2007 Где: Wis Dells Репутация: 7 Всего: 54 |
Ну так как?
|
|||
|
||||
| DeamonShan |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 503 Регистрация: 26.11.2005 Репутация: 3 Всего: 6 |
Как вариант, выловить error - ы, там указаны имена таблиц, которые не существуют, извлеч имя таблицы из error-а и добавить префикс...
Добавлено @ 17:10 Еще вариант, запросить из базы все существующие таблицы, проверить строку запроса на вхождение из списка таблиц, далее вхождение заменить... я не думаю, что названия таблиц могут совпадать с названиями полей таблиц... Это сообщение отредактировал(а) DeamonShan - 28.10.2010, 17:12 |
|||
|
||||
| DeamonShan |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 503 Регистрация: 26.11.2005 Репутация: 3 Всего: 6 |
Кстати, как называется ваш класс?
|
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |