2011-06-10 68 views
0

我有一個搜索SQL數據庫的php文件。它從文本框中獲取一個字符串並嘗試將其與數據庫的各種屬性進行匹配。這裏是執行搜索的代碼:在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))"; 
} 

我的問題是,我希望它返回有部分匹配到指定的ID不只是一個完全匹配的課程。任何人都知道我可以做到這一點?

+0

我做我自己的一些調查研究,我想通了,可以用它解決了我的大部分問題,各運營商。如果我想搜索GEN,這是許多課程中分配的ID的一部分,我搜索GEN *。我現在唯一的問題是數字,一些客戶分配的ID只是數字。我無法在搜索中工作。 – Sean 2011-06-10 15:51:06

回答

2

關閉mysql選項的嚴格模式,或使用LIKE。

SELECT id,名字來自LESSONS,其中名稱LIKE「English%」;

回報

| id | Name 
| 2 | English Literature 
| 8 | English Language 
相關問題