我想获得'?'之后的价值运算符,例如:
www.blabla.com/any.php?h r u
我希望获得此值“h r u”,并在我的数据库中搜索此键。我已经尝试过了:
$_SERVER["QUERY_STRING"]
这个功能运行正常但是当我搜索这些值时,它会在我的数据库中打印出来自此查询的“h%20r%20u”:
$query="SELECT * FROM databasename WHERE colum LIKE'%$link%'";
它会打印链接这个“h%20r%20u没有找到记录”,我的数据库找不到 这个价值。我怎样才能解决我的问题?
答案 0 :(得分:3)
查看urldecode功能。
答案 1 :(得分:0)
如上所述,您应该使用urldecode($string)
。
对于SQL注入,只需转义查询中的值:
$link = mysql_real_escape_string(urldecode($_SERVER["QUERY_STRING"]));
$query="SELECT * FROM databasename WHERE colum LIKE'%$link%'";
如果您使用 mysql 或 mysqli 进行查询。
如果您使用PDO,请使用PDO::quote
来转义。