私はここで本当に混乱しています、誰かが私にこれを説明できますか?
リクエスト:
http://example.com/test.php?var=String's
$a = $_GET["var"];
$b = "String's";
echo $a . "<br/>";
echo $b . "<br/>";
$output = mysql_real_escape_string($a);
$output = mysql_real_escape_string($b);
echo "<hr/>";
echo $a . "<br/>";
echo $b . "<br/>";
結果:
String\'s
String's
----------------
String\'s
String's
GET 変数がこのように変換される理由だけでなく、入力が送信されたとおりになるようにこの動作を削除する方法を説明してもらえますか? SQL ラッパーが mysql_real_escape_string() を介してこれを渡し、最終的にString\\\'s
:(になるという問題があります。