urlencode()
何もすることはありません SQLを使用すると、灯油と同じようにSQLインジェクションを防ぎ、ハンバーガーをより美味しくすることができます。さらに、データベースに入力されるものはすべてURLエンコードされ、データベースを取得した後でそれらを使用して何か役立つことを行う場合は、デコードする必要があります。
一方、クエリをエスケープすると、アプリケーションがSQLインジェクションを防ぐのに役立ちます。 データを変更することはありません クエリを入力します。 クエリを保護するだけです 改ざんから。これがSQLインジェクションの考え方であり、データをエンコードするURLがそれを防ぐために何もしない理由でもあります。確かに、します アポストロフィを回す'
%27
に 、それらを無害にしますが、上記の段落で述べたように、それらを使用するには、それらをアポストロフィにURLデコードする必要があります。
適切な目的のために適切なツールを使用してください。特に2011年には、クエリ変数を手動でエスケープして文字列を連結してクエリを作成するのではなく、プリペアドステートメントを使用する必要があります。