Расширение XML для работы с MySQL

программирование xml веб запросы

У меня при разработке одного проекта возникла необходимость при помощи PHP-скрипта генерировать MySQL запросы. Их надо генерировать не просто автоматически, а на основании данных, полученных от пользователя (через форму или XMLHttpRequest, не суть важно), и данные эти надо в свою очередь сохранять в базе, чтобы можно было их в любой момент поднять.
Поэтому я счел целесообразным сделать XML расширение для описания SQL запросов и экономии места в базе (избавление от избыточности информации). Смысл в том, что на стороне клиента XML претерпевает ряд изменений (при помощи XSLT) и доступен для пользователя в читабельном виде, а на стороне сервера из него при помощи функции-обработчика генерируется SQL запрос.

Хочу спросить, не реализовывал ли кто подобную систему (или не сталкивался ли) и нет ли доступных open source проектов на подобную тему?
Ответы:
Не пойму зачем нужен XML? В базе запросов от пользователя хранить SQL запросы, либо форму. Из-за дополнительного промежуточного формата, приходиться делать лишние преобразования: XML->SQL, форма->XML, XML->форма. Повезло еще, что SQL->XML делать не надо. Нужны веские причины, для внедрения XML.
Действительно, зачем что-то еще городить, в MySQL все есть, просто разберись и используй.
Всегда обходислись тем, что предлагает MySQL, сначала был MySQL, а потом появился  XML.
Принятие данных от клиента и использование их напрямую в запросах несет большую опасность (sql injection). я бы рекоммендовал преобразовывать полученные данные, после чего сравнивать их с чем то шаблонным и затем делать запорос к бд, где принятые данные никак не участвуют. Для посылки данных может подойти и обычный plan text, смысл именно в xml не вижу, по крайней мере для поставленного вами вопроса. Возможно вы не целиком описали задачу.
2Te_Anton При решении поставленной задачи XML нужен по двум причинам:
1) XML позволяет (при помощи преобразований) быть представленным пользователю не в виде деревообразной структуры, а в виде, скажем законченной веб-формы.
Пример:
Имеем бд с 3 таблицами, названными test_table, users_table и account_activity соответственно. Нам надо создать пользовательский интерфейс так, чтобы он не писал SQL напрямую (скажем, чтобы не сделать там ошибок или вредоносного кода), а чтобы он выбирал различные составляющие запросов из конечного количества вариантов.
Теперь рассмотрим простейший запрос SELECT * from `test_table`. Для пользователя не будет предоставляться какое-либо поле для введения запроса. Просто XML, описывающий эту базу, будет преобразовываться в форму, где пользователь выбирает из списков таблицу, поля и условия фильтрации записей.
Когда форма заполнена, она отправляется на сервер опять же в виде XML, из которого можно как собрать указанный пользователем запрос, так и воссоздать всю базу.
Я так понимаю, что нужна система, которая вытаскивает метаинформацию о базе, по этим данным формирует web форму для запроса на получение данных из БД. Далее данные от формы превращает в sql запрос.


17 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.