Валидация SQL запроса

Тема в разделе "Как сделать...", создана пользователем SimonSmith, 31 янв 2015.

Статус темы:
Закрыта.
  1. SimonSmith

    SimonSmith Постоялец

    Регистр.:
    25 сен 2008
    Сообщения:
    147
    Симпатии:
    32
    День добрый,
    как можно валидировать SQL запрос без проверки в самой базе.
    Пример: http://piliapp.com/mysql-syntax-check/

    Добавлено:
    не то.

    Поясню. Пишу генератор отчетов, как на crm vtiger, crm zoho
    .
    Есть определенные шаги, по которым выбирается таблица, связные таблицы, колонки для отображения и фильтры. Все обязательные поля конечно же ЖС обязывает заполнить. В результате генерации строится sql запрос, который хранится в базе для дальнейшего использования. Хочу себя обезопасить на уровне php на сколько правильно был сгенерирован запрос.

    Попытка отправить "невалидный" запрос в базу для проверки приводит к крушению страницы, и не могу вывести нормальную ошибку пользователю.
     
    Последнее редактирование: 1 фев 2015
  2. KillDead

    KillDead

    Регистр.:
    11 авг 2006
    Сообщения:
    883
    Симпатии:
    540
  3. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.404
    Симпатии:
    1.185
    Смотрел видео, в нашем проекте такое решают через конструктор запросов и тщательное тестирование.
    Простые примеры по конструктору - http://www.yiiframework.com/doc/guide/1.1/ru/database.query-builder

    Сделать валидатор на чистом php практически анрил...
    Как костыль - делай выборку по сформированному запросу и если всё ок - записывай в БД на сохранение.
     
    SimonSmith нравится это.
  4. SimonSmith

    SimonSmith Постоялец

    Регистр.:
    25 сен 2008
    Сообщения:
    147
    Симпатии:
    32
    спасибо
    cms которой я пользуюсь использует библиотеку DbSimple.
    делаю запрос и глушу ошибку с @, и встроенным методом error кидаю в логи.
     
Статус темы:
Закрыта.