PHP e pesquisa no banco de dados MYsql

Olá pessoal eu tenho um algorítimo em php que busca informações dentro da tabela, e para fazer isso ele usa “LIKE%palavradigitada%” para pesquisar palavras não exatas.

Quando o usuário pesquisa uma palavra ele busca numa boa, porém quando é digitado mais de uma palavra(por exemplo: uma frase ou palavra composta), ele não retorna nada.

segue o código abaixo (me desculpem se não estiver usando boas práticas, é que eu comecei a estudar PHP orientado a objetos essa semana):

 **classe que define o objeto**
<?php
class Pesquisa{
	 public $autor;
	 public $titulo;
	 public $subtitulo;
	 public $foto;
	
	//seter
	function setPesquisa($autor,$titulo,$subtitulo,$foto){
		$this->autor = $autor;
		$this->titulo = $titulo;
		$this->subtitulo = $subtitulo;
		$this->foto = $foto;
	}
		
	//geters
	function getAutor(){
		return $this->autor;
	}
	function getTitulo(){
		return  $this->titulo;
		
	}
	function getSubtitulo(){
		return $this->subtitulo;
	}
	function getFoto(){
		return $this->foto;
	}

}
?>

Classe que faz a conexão:

<?php

require_once '../model/Pesquisa.php';

class PesquisaDAO extends Pesquisa{
	
	

	
	function buscaPesquisa($pesquisa){
		 $cont;
		 $vetor= array();
		
	// Conecta ao banco de dados
	$mysqli = new mysqli( "****", "*****", "***", "****");
	// Verifica se ocorreu algum erro
	if (mysqli_connect_errno()) {
		die('Não foi possível conectar-se ao banco de dados: ' . mysqli_connect_error());
		exit();
	}	

		//sql select * from sua_tabela where lower(campo) like '%anatomia%codigo%'
		if($sql = $mysqli->prepare("SELECT autor,titulo,subtitulo,foto FROM blog WHERE lower(texto) LIKE '%".$pesquisa."%' LIMIT 6")){

			 $sql->execute();
			 $sql->store_result();
			
		
			if($sql->bind_result($autor, $titulo, $subtitulo, $foto)){	 
				while ($sql->fetch()) {
					
					$vetor[$cont] = array($autor, $titulo, $subtitulo, $foto);
					$cont++;
				}
				
				 $sql->close();

			}

		}
		$mysqli->close();
		
	
		return $vetor;
	}
	
}
1 curtida

Leia esse artigo que vai resolver o seu problema.
Pesquisa com fulltext