Как создать шаблон для подготовленных операторов для нескольких слов для MATCH AGAINST в PHP?

Я построил шаблон для подготовленного заявления для 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();

Так, пожалуйста, как создать шаблон для нескольких слов?

0 ответов

Другие вопросы по тегам