0

我想获得“?”之后的值。运算符,例如:

www.blabla.com/any.php?h r u 

我想得到这个值“hr u”,并在我的数据库中搜索这个键。我已经尝试过这个:

$_SERVER["QUERY_STRING"]

这个函数工作正常,但是当我搜索这些值时,它在我的数据库中从这个查询中打印出这样的“h%20r%20u”:

$query="SELECT * FROM databasename WHERE colum LIKE'%$link%'";

它将打印链接这个“h%20r%20u no record found”,我的数据库找不到这个值。我该如何解决我的问题?

4

2 回答 2

3

查看urldecode函数。

于 2012-06-16T14:13:57.407 回答
0

正如所指出的,您应该使用urldecode($string). 对于 SQL 注入,只需转义查询中的值:

$link = mysql_real_escape_string(urldecode($_SERVER["QUERY_STRING"]));
$query="SELECT * FROM databasename WHERE colum LIKE'%$link%'";

如果您使用mysqlmysqli进行查询。如果您使用PDO::quotePDO,请改为转义。

于 2012-06-16T14:33:12.947 回答