2014-01-19 78 views
0

初學者在這裏,我正在寫一個PHP搜索程序,它將在MySQL數據庫中查找關鍵字。我如何捕捉整個單詞而不是部分單詞(例如,只是男人而不是男人)。在php中捕獲整個單詞而不是部分單詞mySQL數據庫搜索查詢

//construct query 

$x++; 

    if ($x==1) 

     $construct = "keywords LIKE '%$search_each%'"; 

    else 

     $construct = "keywords LIKE '%$search_each%'"; 

感謝您的幫助

+0

簡單:'keywords ='man'' – 2014-01-19 20:50:52

回答

0

使用的分隔符。假設他們都用空格分隔:

$construct = "concat(' ', keywords, ' ') LIKE '% $search_each %'"; 

如果它們之間用逗號隔開,你可以使用:

$construct = "find_in_set($search_each, keywords) > 0"; 

這些都不具有特別良好的性能,因爲它們需要進行全表掃描。

您應該有一個單獨的表,每個實體ID /關鍵字一行。不要將關鍵字存儲在單個列中的列表中!

+0

難道他們不是在學校教授正常化嗎? – 2014-01-19 20:54:43

+0

@Dagon個人而言,我不知道。編程使用9「軟盤當時,我懷疑這個詞甚至存在,回來的時候; - ) –

+0

以及我們用石板和鑿子... :-) – 2014-01-19 21:25:28