匹配url mysql

时间:2010-11-21 16:48:35

标签: php sql mysql

$value = 'http://www.mydomain.com/this-is-page-one'

我的mysql表中有一个名为“urls”的字段,其中存储了不同的URL,如:

http://www.bdsada.com/dsadsfsaf
http://www.comddsad.com/dsadacsdfs

等等

我想最好地将我的价值与网址相匹配。 - 做一个SQL查询 也许是重复字母的数量。

请举一个实际的例子......欢迎

1 个答案:

答案 0 :(得分:1)

不确定“最佳匹配”的确切含义。假设您将URL存储在上面列出的数据库中(http://www.website.com/extension)。此外,输入可能包含也可能不包含“http://”,“www。”或URL中的任何其他GET变量。在为数据库查询提交字符串之前,我将执行以下操作:

从网址中删除“http://”或“https://”。

$valueStrip = explode("//",$value);
$value = $valueStrip[1];

去除任何获取变量

$valueStrip = explode("?",$value);
$value = $valueStrip[0];

另外,请确保为任何SQL注入攻击清除它,这应该可以正常工作

$value = mysql_real_escape_string($value);

假设'url'是表的名称,'domainName'是实际域名的列名。因此,您的查询可能如下所示

$query = mysql_fetch_array(mysql_query("SELECT url FROM domainName WHERE url LIKE '%$value%'"));

我应该注意,我没有对代码进行测试,因此可以提高效率。