重複の可能性:
PHP で SQL インジェクションを防ぐ方法は?
このスニペットを検討してください。
*mysqltest.php*
$user_id= $_GET['user_id'];
$user_id= mysql_real_escape_string($user_id);
$query = "SELECT * FROM people WHERE uid=".$user_id;
echo $query;
//then execution ..
さて、このスクリプトを「mysqltest.php?user_id=56 or 1」と呼ぶと
クエリは SELECT * FROM people WHERE uid=56 or 1となり、インジェクションが成功します。
では、列が数値型であるような状況で、どうすれば身を守ることができるでしょうか?
これらの状況で、pdo または準備済みステートメントを使用しない他の回避策はありますか?