使用LIKE从表phpmyadmin中选择(关键字)

时间:2012-05-01 22:12:53

标签: php mysql select phpmyadmin sql-like

继我上一期提问:

我现在正在使用声明:

    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个名字的鱼。

解决此问题的最佳方法是什么?

1 个答案:

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

哪个应该有用。