使用PHP在SQL数据库中搜索部分匹配

时间:2011-06-10 15:03:10

标签: php mysql sql search

我有一个搜索SQL数据库的php文件。它从文本框中获取一个字符串,并尝试将其与数据库的各种属性相匹配。以下是执行搜索的代码:

    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))";
}

我的问题是,我希望它返回与分配的ID部分匹配的课程,而不仅仅是完全匹配。谁知道我怎么能这样做?

1 个答案:

答案 0 :(得分:2)

关闭mysql选项的严格模式,或使用LIKE。

SELECT id,来自LESSONS的名称,其名称为LIKE“English%”;

返回

|  id | Name
|  2  | English Literature
|  8  | English Language