PHPにおけるPDOのプリペアドステートメント
前回のレッスンでは、SQLインジェクションに関連する問題について検討しました。 PDOには、これらに対抗する特別な方法があります - プリペアドステートメント。 これらは、変数の代わりに特別なマーカー - プレースホルダーが配置されたSQLクエリです。
これらのマーカーには後で変数の値が挿入されます。 この際、PDOはクエリのテキストと変数を自動的に分離します。 つまり、変数の内容がクエリのコマンドになることはありません。 したがって、インジェクションは不可能になります。
PDOは2種類のプレースホルダーをサポートしています: 位置指定と名前付きです。 位置指定ではパラメータと変数の順序が重要ですが、名前付きでは重要ではありません。 次のレッスンでは、これらの種類のプレースホルダーの使い方について詳しく見ていきます。