Реализация поиска на сайте, правильная SQL инструкция, PDO PHP
Пытаюсь составить правильную SQL инструкцию для реализации поиска на сайте, в таблице около сорока столбцов, поиск нужно вести только по двум полям, первое производитель продукта, втрое название продукта. Пользователь набирает некоторый ряд символов и отправляет их на сервер ниже представляю код того что я делаю с полученными данными
//Подготовка поисковой строки
$search = trim(substr($this -> nameProduct, 0));
$search = preg_replace("#\#s=#msi", "", $search);
$search = preg_replace("/[^\w\x7F-\xFF\s]/", " ", $search);
$search = preg_replace("# +#msi", " ", $search);
//В бой
$sth = $conn->prepare("SELECT `product_type`, `name_product` FROM `table_smartfoni` WHERE `product_type` LIKE ? OR `name_product` LIKE ?");
$sth->execute(array($search, $search));
$array_3 = $sth->fetchAll(PDO::FETCH_ASSOC);
Проблема заключается в том что поиск осуществляется только по абсолютному совпадению, то есть, если скажем в строке name_product храниться название скажем состоящее 100 символов то поисковый запрос тоже должен состоят из того же количества и типа символов для абсолютного совпадения, я бы хотел реализовать выборку из БД по скажем заранее не определённого количеству и ряду символов, поиск должен осуществлялся по части строки или даже подстроки, одним словом надо чтобы возвращались все строки в хранимых данных которых есть совпавшие ряди символов с поисковой строкой