mysql php выберите запись, похожую на другую

Я знаю, это может показаться дублированным, из stackoverflow и т. Д. Вопросов, но здесь мы идем.

Я пытаюсь сделать предложение SQL, которое может найти совпадение между двумя строками

function getProductos($keyWords){ $keyWords = addslashes(strtolower($keyWords)); $keyWordsExploded = explode(" ",$keyWords); $sql = "SELECT * FROM PRODUCTOS WHERE HOMBRE_MUJER LIKE :keyWords OR CATEGORIA LIKE :keyWords" OR NOMBRE LIKE :keyWords; $query = self::$conn->prepare($sql); $query->execute(array(":keyWords"=> "%" . $keyWords . "%")); return $query; } In other part of the page I have this code: <?php if(isset($_GET['buscar'])){ require(PAGES_DIR . "queries_products.php"); $consultaProducts = new QueryProductos(); $productos = $consultaProducts->getProductos($_GET['buscar']); if($productos->rowCount()!=0){ $arrayProductos = $productos->fetchAll(PDO::FETCH_ASSOC); echo "<h3>Productos encontrados</h3>"; foreach($arrayProductos as $fila){ echo $fila['NOMBRE'] . " " . $fila['HOMBRE_MUJER'] . "<br>"; } }else{ echo "<p class='alert alert-warning'>No results found <strong>" . $_GET['buscar'] . "</strong>"; } } ?> 

Все работает отлично, В моей базе данных я сохраняю только 2 значения в CATEGORIA, которые: «hombres» и «mujeres», если я ищу hombres, я получаю все записи, у которых есть CATEGORIA hombres, но когда я ищу hombres y mujeres, я получаю нет результатов, я пробовал использовать разные предложения, которые я читал, но мне не повезло, надеюсь, вы можете значительно спасти меня, помогая мне решить эту проблему.

попробуй это:

 function getProductos($keyWords) { $keyWordsExploded = explode(" ",$keyWords); $sql = "SELECT * FROM PRODUCTOS WHERE "; $likes = array("HOMBRE_MUJER", "CATEGORIA", "NOMBRE"); // build up our columns which will be used in our condition in sql statment $params = array(); // building up our sql statment and collecting our params foreach($likes as $like) { foreach($keyWordsExploded as $kw) { $sql .="$like like ? or "; $params[] = "%".$kw."%"; } } $sql = rtrim($sql, "or "); // trim the last "or" condition in sql statment $query = self::$conn->prepare($sql); $query->execute($params); return $query; }