У меня проблема с моим поисковым запросом. Я ищу электронные письма.
У меня есть мой поисковый запрос:
$query = sprintf("SELECT mailer_subscribers.id, mailer_subscribers.email, mailer_subscribers.status,mailer_segmentlinker.segment_id, mailer_segmenten.segmentnaam FROM mailer_subscribers JOIN mailer_segmentlinker ON mailer_subscribers.id=mailer_segmentlinker.subscriber_id JOIN mailer_segmenten ON mailer_segmentlinker.segment_id=mailer_segmenten.id WHERE MATCH (email) AGAINST ('%s*' IN BOOLEAN MODE)", $key);
Но когда я john.smith
ключевое слово в примере « john.smith
», он возвращает мне все значения, которые имеют одинаковое имя или фамилию
john.smith@example.com john.notsmith@example.com smith.hendrix@example.com josh.josh@smith.com
Мне нужно, чтобы он дал мне только список с john.smith
.
Редактировать:
Решение, которое помогло мне, было следующим: WHERE mailer_subscribers.email LIKE '%%%s%%'", $key);
Попытайтесь поместить свое ключевое слово в двойные кавычки для поиска точной фразы.
... AGAINST ('\"%s*\"' IN BOOLEAN MODE) ...
Логические полнотекстовые поисковые запросы :
«яблочный банан»
Найдите строки, содержащие хотя бы одно из двух слов.'"некоторые слова"'
Найдите строки, содержащие точную фразу «некоторые слова» (например, строки, содержащие «некоторые слова мудрости», но не «некоторые шумовые слова»).