1

私の最後の質問に続いて:

私は今、ステートメントを使用しています:

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


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

species好きなコンテンツを持つことができます"Brown & Rainbow Trout, Pike"

ただし、ブラウン トラウトの URL は次のとおりです。/fishing/browntrout/

これは基本的に、上記のステートメントが結果を返さないようにします。

明らかに、たとえば : /fishing/pike/2 つの名前を持つ魚には適していません。

これを解決する最善の方法は何ですか?

4

1 に答える 1

1

/fishing/brown_trout/代わりに URL を作成してみてください。次に、次のようなことを試してください。

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%'

どちらが機能するはずです。

于 2012-05-01T22:19:43.527 に答える