MYSQL соответствует запросу в PHP - PullRequest
0 голосов
/ 27 октября 2018

Я хочу использовать запрос MATCH AGAINST вместо лайка.Я хочу найти в моей базе данных определенное значение, атрибут которого не указан (например, WHERE id = 2045).У меня есть поисковая панель, как Google, на моем сайте, и я хочу написать, например: 2045 или Джон, и это дает мне все об этом.Я не хочу искать только имена или имена.У меня уже есть это для определенного атрибута как имя:

$name = $_POST["name"];

$sql="SELECT id, name, city FROM student WHERE name LIKE '".$name."%'";

Но то, что я хочу, это что-то с запросом MATCH AGAINST.Я не знаю, как это сделать ... Вот что у меня есть:

$sql ="SELECT id, name, city FROM student WHERE MATCH(id, name, city) AGAINST ('".$name."%')";

Здесь я хочу, чтобы мое $ name было чем-то случайным, что я написал в своей строке поиска.Спасибо

1 Ответ

0 голосов
/ 27 октября 2018

Есть ли у вас какая-либо конкретная причина, по которой вы не используете мультиплекс LIKE с OR?

$name = $_POST["name"];
$sql="SELECT id, name, city FROM student 
     WHERE id LIKE '".$name."%'" OR
           name LIKE '".$name."%'" OR
           city LIKE '".$name."%'";

Другой способ сделать это, используя CONCAT(),

$sql="SELECT id, name, city FROM student WHERE CONCAT(id,name,city) LIKE '".$name."%'"; 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...