kshnkvn
@kshnkvn
yay ✌️ t.me/kshnkvn

Как осуществить поиск в MySQL с индексом FULLTEXT?

Необходимо осуществить поиск по базе данных, в которой находятся ZIP-коды городов. В phpMyAdmin для всех необходимых полей задан индекс FULLTEXT, сам поиск осуществляется следующим образом:
<?php
    require(__DIR__ . "/../includes/config.php");
    $places = [];
    $places = CS50::query("SELECT * FROM places WHERE MATCH(postal_code, place_name) AGAINST (?)", $_GET["geo"]);

    header("Content-type: application/json");
    print(json_encode($places, JSON_PRETTY_PRINT));
?>

Страница вывода поиска. В строку $_GET можно вставлять индексы городов и названия самих городов соответственно базе данных, но никакие варианты не работают. По адресу "/home/ubuntu/workspace/pset8/vendor/library50-php-5/CS50/CS50.php on line 352" располагается лишь вывод ошибки:
$statement = $handle->query($query);
            if ($statement === false)
            {
                trigger_error($handle->errorInfo()[2], E_USER_ERROR);
            }
  • Вопрос задан
  • 256 просмотров
Решения вопроса 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Индексов нет на каком-то из полей перечисленных в math,
учитесь читать что пишет обработчик ошибок, сильно помогает.

UPD: хорошая статья по FTS
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы