我只是想在开始编码之前先问这个问题,因为我知道它会给我带来麻烦。假设我有以下网址:
www.mysite.com/script.php?id=12345&email=email%40email.com
现在假设我想使用$ _GET变量搜索数据库。我的问题是,$ _GET ['email']变量中的%符号是否会导致PHP中的MySQL查询出现问题,因为%符号在MySQL中意味着什么?或者我可以继续使用该输入搜索数据库而没有任何问题吗?
答案 0 :(得分:1)
www.mysite.com/script.php?id=12345&email=email%40email.com
将在$ _GET中给出以下值:email@email.com(因此,已经解码)
当然,在任何查询中使用此值之前,您应该使用类似mysql_real_escape_string的函数,但不需要使用url decode或其他内容。
mysql_real_escape_string - 转义字符串中的特殊字符以用于SQL语句 http://php.net/mysql_real_escape_string