mysql, построение длинных SQL-запросов из данных формы.(РНР) - PullRequest
1 голос
/ 18 мая 2011

Я пишу большой SQL-запрос, основанный на информации, которую я получаю из отправленной формы, которая содержит параметры поиска. Мне просто интересно, есть ли у кого-нибудь рекомендации о том, как лучше всего это сделать. Я планировал получить список операторов if else и построить длинную строку поиска на основе данных, которые пользователь вводит в форму поиска.

Есть ли лучший способ сделать это? Любые рекомендуемые сайты или учебники там?

Спасибо.

Ответы [ 3 ]

2 голосов
/ 18 мая 2011

Прежде всего, я бы использовал подготовленный оператор , потому что нет никаких причин не делать этого, и я никогда не доверяю пользовательскому вводу.

Если у вас есть переменные в массиве или объекте, я бы просто перебрал их и добавил переменную и значение, если оно установлено в массиве $_POST. Обратите внимание, что я перебираю свой массив или объект, а не $_POST, который в основном действует как белый список.

Вам могут потребоваться некоторые дополнительные проверки для флажков, которые изменены и не установлены, поскольку они не будут отображаться в массиве $_POST.

1 голос
/ 18 мая 2011

Вам все равно придется беспокоиться о случайном внедрении SQL.Не пропускайте экранирование пользовательского ввода.

Что касается собственно построения самого запроса: очень часто встречается использование структур управления php для объединения ряда частей запроса, но многие люди находят такие инструменты, как ZendFramework , чтобы быть действительно удобным.

0 голосов
/ 18 мая 2011

Доверяй, но проверяй.Это просто экранирование всех входящих параметров.

mysql_real_escape_string

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...