2012-11-10 87 views
0

我創建了這個搜索mysql字符串,它是字面的或者也許是un-literal? 如果我搜索Dave,例如它只會找到像「Dave something」這樣的項目,而沒有找到Dave。如何讓我的搜索更廣泛?

$queryArtist = mysql_query("SELECT * FROM artists WHERE artist LIKE '%$ArtistNameSearch%' ORDER BY artist ASC"); 

我知道mysql_query已經過時,並且會在我得到這個結果後立即更改爲mysqli。卡在這裏。

它的一個例子中,沒有工作是 Example of search

難道becasue了20%的空間?

我明白了,但它仍然沒有找到一個方向或其他事情,即使存在。 這裏是我現在

$queryArtist = mysql_query("SELECT * FROM artists WHERE match(artist) against('$SafeSearchTerm' in boolean mode)"); 
+2

你的查詢對我來說看起來不錯。它應該返回'Dave'。 –

+1

你可能有尾隨空格?在將它傳遞給查詢之前先嚐試一下'trim()'。 –

回答

1

你可能想使用full-text index而非LIKE語句來獲得更多的靈活性是。

+0

你的答案更像是評論! – undone

+2

這是一個解決方案,而不是評論。 – jamieb

+0

有足夠的解釋鏈接。然而,說「全文索引」往往比複製,粘貼,工作是一個guddun更大的禮物。用戶有搜索谷歌的東西,他們可以瞭解它,並真正瞭解發生了什麼。它給了他們自我幫助的能力。 –

0

也許使用Soundex或聽起來像。看到這個page