使用url参数在MySQL文本中搜索特定数字

时间:2013-04-26 07:41:38

标签: php mysql matomo

我有一个这样的数据库:

id | link                                | someotherstuff
---------------------------------------------------------
1  | index.php?video=123                 | blah
2  | index.php?video=4567&other=variable | blah
3  | site.com/index.php?video=video=1    | blah

等等。 我想使用URL参数来查找正确的视频链接。 当我访问时:www.mysite.com/index.php?video = 1我希望数据库找到链接列的“video = 1”部分。我有一切工作,除了搜索链接列时,它找到id 1和id 3,因为它们都在链接中有数字1。

我正在使用Piwik获取我的网页统计信息。我使用会话从网址获取视频编号,然后使用:

$videostring = "video%3D".$_SESSION['video']."";

用这个:

$resulting = file_get_contents("http://www.site.com/piwik/?module=API&method=Actions.getPageUrls&idSite=1&period=range&date=2013-04-05,today&format=php&expanded=1&token_auth=$token_auth&filter_pattern=". $videostring . "");

如何使用filter_pattern以便我可以将搜索范围限制为我想要的数字?

2 个答案:

答案 0 :(得分:0)

select id from table where link like '%video=1' OR link like '%video=1?%'

使用编辑:

如果你的服务器在filter_pattern的值之前和之后放置%来进行过滤,则不能这样做。检查服务器端代码,看看它在调用mysql之前对filter_pattern变量做了什么。

答案 1 :(得分:0)

我认为除了在id地址中使用link值之外,没有其他方法,例如site.com/index.php?video?video=1&id=3。因此,您无需搜索数据库以查找id。它位于您的地址