2014-01-05 47 views
0

我只是想在開始編碼之前提出這個問題,因爲我知道它會給我帶來問題。比方說,我有以下網址:用urlencode搜索mysql數據庫

www.mysite.com/script.php?id=12345 &電子郵件=電子郵件%40email.com

現在讓我們說,我想用$ _GET搜索數據庫變量。我的問題是,$ _GET ['email']變量中的%符號是否會導致PHP中的MySQL查詢出現問題,因爲%符號意味着MySQL中的其他內容?或者我可以繼續使用該輸入來搜索數據庫,並且沒有任何問題?

+0

你總是可以只使用'urldecode'? – Alias

回答

1
www.mysite.com/script.php?id=12345&email=email%40email.com 

會給你$ _GET以下值:[email protected](因此,已經解碼)

當然,你應該使用功能就像任何查詢中使用該值之前mysql_real_escape_string,但使用url解碼或什麼是沒有必要的。

mysql_real_escape_string - 轉義中使用的字符串的特殊字符在SQL語句中 http://php.net/mysql_real_escape_string