我正在嘗試阻止SQL注入的現有網站上工作。在$_GET['ID']
之前未經過處理。mysql_real_escape_string()沒有消毒變量
$ID=mysql_real_escape_string($_GET['ID']);
$sQuery=mysql_query("select * from tbl_mini_website as s1, tbl_actor_merchant as me where s1.MERCHANT_ID=$ID AND s1.MERCHANT_ID=me.MERCHANT_ID");
如果我把一個'在URL的末尾,用mysql_real_escape_string()
我得到這個從mysql_error()
:
您的SQL語法錯誤;檢查對應於你的MySQL服務器版本的使用權語法手冊近「\\」 AND s1.MERCHANT_ID = me.MERCHANT_ID」在行1
與出mysql_real_escape_string()
我得到:
你的SQL語法有錯誤;檢查對應於你的MySQL服務器版本使用附近的正確語法手冊「\」 AND s1.MERCHANT_ID = 1行
me.MERCHANT_ID」我不知道怎麼了呢?任何幫助將不勝感激。
如果在執行它之前'回顯查詢? – zerkms 2011-04-07 00:32:37