2012-05-01 22 views
0

從我的最後一個問題下面就從桌子的phpmyadmin(關鍵字):選擇使用像

我現在用的語句:

if (isset($_GET['url'])) { 
     $url = $_GET['url']; 
    } 


     SELECT name, url FROM table WHERE species LIKE '%$url%' 

species可能有內容喜歡"Brown & Rainbow Trout, Pike"

但是我的網址對於說布朗鱒魚是:/fishing/browntrout/

這基本上防止上述語句返回任何結果。

很明顯,它適用於說:/fishing/pike/只是不適用於有2個名字的魚。

最新最好的方式來解決這個問題?

+0

將它保存爲'Brown Trout,Rainbow Trout,&Pike'? –

+0

是的,這可能是一個解決方案,雖然我試圖避免這種情況,因爲我在頁面上顯示「物種」的空間不夠大,無法容納大量的字符。 –

回答

0

嘗試使用網址/fishing/brown_trout/代替。然後嘗試這樣的事:

if (isset($_GET['url'])) { // "brown_trout" 
    $url = str_replace('_', '%', $_GET['url']); // "brown%trout" 
} 

SELECT name, url FROM table WHERE species LIKE '%$url%' 

這將使查詢:

SELECT name, url FROM table WHERE species LIKE '%brown%trout%' 

這應該工作。

+0

這似乎正常不過的工作,我似乎得到不同的結果,如果網址爲「/棕色/」而不是「/ brown_trout /」 沒有其他物種在其名稱「棕」。顯然還有其他「鱒魚」可能會造成問題嗎?因爲我預計會得到與棕色和棕色鱒魚相同的結果 –