Я пишу следующий запрос SELECT * FROM table WHERE field LIKE 'искомая фраза' для поиска по полю field. Допустим у нас поле field содержит следующие значения Иванов Петр Сергеевич Морозов Иван Алексеевич Петров Петр Петрович если в запросе вместо 'искомая фраза' мы напишем 'Петр Петрович", то в результате будет найдена одна строка. Теперь вопрос. Как изменит запрос, что бы при запросе 'Петров Петрович', мы тоже получили искомый результат.
вот и ответ - нормализация базы данных. нормализируешь бд, где у тебя будет три поля SurnameID, FirstNameID, LastNameID, а они будут ссылаться на соответствующие имена и фамилии в соответствующих таблицах. По базам и выполняешь поиск. И поиск будет быстрее и легче и вообще. Ну это, конечно, если у тебя какая-то очень большая база имен. Альтернативный вариант - делишь 'искомую фразу' в пхп функцией explode по пробелам, а потом делаешь что-то типа: [sql]SELECT * FROM table WHERE field LIKE '%искомая%' AND LIKE '%фраза%' [/sql]