PHP で安全な MySQL プリペアド ステートメントを作成する
悪意のある入力に対して MySQL クエリを強化することは、データの整合性を維持し、SQL インジェクション攻撃を防ぐために重要です。プリペアド ステートメントは、受信ユーザー入力をサニタイズすることでこれを実現するための効果的なメカニズムを提供します。
特定のケースでは、URL パラメーターから得られた情報を使用してテーブルから列をフェッチすることを目的としています。このクエリを保護するには、次のようにプリペアド ステートメントを利用できます:
$db = new mysqli("host","user","pw","database"); $stmt = $db->prepare("SELECT * FROM mytable WHERE userid=? AND category=? ORDER BY id DESC"); $stmt->bind_param('ii', intval($_GET['userid']), intval($_GET['category'])); $stmt->execute();
このステートメントは次のことを実行します:
潜在的な速度向上に関しては、準備されたステートメントは通常、反復的なクエリを含むシナリオでのパフォーマンスを向上させます。ただし、単一ページで時折使用する場合、影響はごくわずかである可能性があります。
以上がPHP のプリペアド ステートメントと URL パラメーターを使用して MySQL からデータを安全にフェッチするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。