Я построил шаблон для подготовленного оператора для MATCH AGAINST
, где я ищу одно слово.
Подстановочный знак выглядит следующим образом:
$statement = $DB->prepare('SELECT * FROM users
WHERE firstname LIKE ?
AND lastname LIKE ?
AND MATCH (firstname, lastname) AGAINST (? IN BOOLEAN MODE)');
$statement->bind_param('sss', $firstname, $lastname, $searchString);
$statement->execute();
$result = $statement->get_result();
$statement->close();
Когда я ищу одно слово в методе AGAINST()
, оно работает нормально.
Но как создать шаблон для поиска нескольких слов?
Примерно так здесь
Select * FROM users WHERE firstname LIKE "d%" AND lastname LIKE "f%" and MATCH (firstname, lastname) AGAINST ("Jonny Bonny Conny Alex" IN BOOLEAN MODE)
Я попробовал это, построив одну строку, но она не работает, в смысле не получая никакого результата, но если я помещаю это непосредственно в phpmyadmin, результаты приходят, и когда я помещаю одно слово, это тоже работает.
$searchStrng = "Jonny "."Bonny "."Conny "."Alex";
$statement = $DB->prepare('SELECT * FROM users
WHERE firstname LIKE ?
AND lastname LIKE ?
AND MATCH (firstname, lastname) AGAINST (? IN BOOLEAN MODE)');
$statement->bind_param('sss', $firstname, $lastname, $searchString);
$statement->execute();
$result = $statement->get_result();
$statement->close();
Так, пожалуйста, как создать шаблон для нескольких слов?