Функция поиска с несколькими критериями – PHP / MySQL

Как создать страницу поиска с несколькими критериями, по которым необходимо проверить хотя бы критерии.

Структура таблицы

  • ID [pk]
  • имя
  • секс
  • Место нахождения

Я хочу создать форму поиска, где пользователь сможет искать по имени или по имени, полу или по имени, полу, местоположению или любой такой комбинации среди [имени, пола, местоположения]

Как спроектировать запрос?

Edit
Я не прошу проверить хотя бы один параметр имеет значение [js validation], я прошу запроса!
Я буду использовать подготовленный оператор mysqli !

Related of "Функция поиска с несколькими критериями – PHP / MySQL"

Вы можете проверить, не является ли сообщение для определенного поля пустым, если оно не добавляет к запросу соответствующее предложение WHERE. Что-то в следующем виде:

 $mysqli = new mysqli(...); $sql = 'SELECT * FROM table WHERE '; $where = array(); $values = array(); $types = ''; if (!empty($_POST['name'])) { $where[] = 'name = ?'; $values[] = $_POST['name']; $types .= 's'; } if (!empty($_POST['sex'])) { $where[] = 'sex = ?'; $values[] = $_POST['sex']; $types .= 's'; } ... $sql .= implode(' AND ',$where); $values = array_unshift($values, $types); $statement = $mysqli->prepare($sql); call_user_func_array(array($statement, 'bind_param'), $values); ...