Поиск частичного совпадения в базе данных SQL с PHP - PullRequest
0 голосов
/ 10 июня 2011

У меня есть php-файл для поиска в базе данных SQL. Он берет строку из текстового поля и пытается сопоставить ее с различными атрибутами для базы данных. Вот код, который выполняет поиск:

    if ($filter['meta_info']) {
    $search_string = $filter['meta_info'];
    unset($filter['meta_info']);
    $m_intSortField = null;
    $m_strWhere .= (($m_strWhere) ? " AND " : "")."(MATCH     (`courses`.`assigned_id`,`courses`.`title`,`courses`.`author`,`courses`.`keywords`,`courses`.`  abstract`,`courses`.`objective`,`courses`.`summary`,`courses`.`copyright`,`courses`.`notes`) AGAINST ('".mysql_escape_string($search_string)."' IN BOOLEAN MODE))";
}

Моя проблема в том, что я хочу, чтобы он возвращал курсы, которые частично соответствуют назначенному идентификатору, а не просто полностью соответствуют. Кто-нибудь знает, как я мог это сделать?

1 Ответ

2 голосов
/ 10 июня 2011

Выключите строгий режим в настройках MySQL или используйте LIKE.

ВЫБЕРИТЕ идентификатор, имя из УРОКОВ, где имя НРАВИТСЯ "Английский%";

возвращает

|  id | Name
|  2  | English Literature
|  8  | English Language
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...