Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Tudo bem. pessoal.
O que esta me dando um pouco de dor de cabeça é o seguinte.
Estou realizando um consulta usando o index FULLTEXT só que a consulta está retornando partes de uma palavra, más só quero a palavra completa, exemplo:
// Consulta de produto
$sql = 'Select
id
From
produto
Where
MATCH(campoPesquisa) AGAINST ('REGEXP[[:<:]]bone[:>:]]')';
Estou usando a expressão regular REGEXP[[:<:]]'bone'[:>:]] para tentar resolver esse problema só que não ta dando certo.
Quando realizo a busca por 'bone' é retornado rows que contém a palavra 'boneco', como faço para resolver isso.
>
Tente assim:
$sql = "Select
id
From
produto
Where
MATCH(campoPesquisa) AGAINST ('bone' IN BOOLEAN MODE)"
Obrigado, mas também não deu certo, você tem mais alguma ideia?
tente colocar entre aspas, assim:
$sql = 'Select
id
From
produto
Where
MATCH(campoPesquisa) AGAINST (\'"bone"\' IN BOOLEAN MODE)';Assim tbm não funciona, a palavra 'boneco' sempre aparece
Cara, tem outra coisa errada então... Numa base de testes que eu tenho aqui, se eu faço a consulta:
SELECT * FROM aluno
WHERE MATCH(str_nomealuno) AGAINST ('DEB' IN BOOLEAN MODE)
Retorna zero resultados... em contra-partida, se eu faço a consulta:
SELECT * FROM aluno
WHERE MATCH(str_nomealuno) AGAINST ('DEBORA' IN BOOLEAN MODE)
Retorna os 10 resultados possíveis.
Verifique se a consulta SQL enviada para o servidor esta realmente como você deseja.
Tente assim: