Поиск по нескольким полям
У меня есть База данных MySQL. Есть таблица users со следующей структурой:
- user_id
- first_name
- last_name
- middle_name
- birthdate
- document
Есть одно поле поиска на странице. Сейчас поиск работает через SQL LIKE таким образом
public static function getTableDataBySearch($search) {
$sql = "
SELECT * FROM " . self::$table . " WHERE first_name LIKE '%".$search."%'
OR last_name LIKE '%".$search."%'
OR middle_name LIKE '%".$search."%'
OR birthdate LIKE '%".$search."%'
OR birthdate LIKE '%".$search."%'
OR documentLIKE '%".$search."%'
ORDER BY number";
return \R::getAssoc($sql);
}
Однако, если ввести в поле поиска одновременно фамилию и имя, или ФИО и дату рождения, то соответственно ничего не будет найдено. Как это можно улучшить?
P.S. До момента написания этого вопроса, я прочитал охожие вопросы, однако те решения либо неясны мне, либо устаревшие.