基本情報暗記無料で始める

プレースホルダ(バインド機構)とは?ぷれーすほるだ

プレースホルダ(バインド機構)とは、SQL文の骨格を先に確定させ、値の部分だけを後から変数として渡す仕組み。値が結び付くのは構文解析が終わった後なので、利用者が何を入力しても命令として読み直されることがなく、SQLインジェクションを原理から封じられる。文字列をつないでSQL文を組み立てないことが、最も確実な対策とされる。

最終更新:2026-10-09

試験情報

基本情報技術者試験の過去問では2問の解説で触れられています(2017年度〜2024年度)。

基本情報技術者試験の頻出用語/テクノロジ系

別名:バインド機構

この語が出る過去問を解く →

背景

入力された検索語をそのまま文字列としてSQLにつなぐ書き方は、手早く動くものが作れるため長く使われてきた。しかしこの作りでは、引用符を含む入力を渡されるとSQL文の切れ目そのものがずれ、利用者の入力が命令として実行されてしまう。危ない文字を1つずつ打ち消す方向で塞ごうとしても、文字コードの扱い次第で抜け道が残る。プレースホルダは、値と命令を混ぜないという構造そのもので原因を断つ。

具体例

JavaのPreparedStatementやPHPのPDOでは、WHERE 学籍番号 = ? のように値の位置を記号で置いておき、実際の値は別に渡す。同じ形の問合せを繰り返す処理では、構文解析の結果を使い回せるので速度の面でも有利になる。

試験での引っ掛け

渡せるのは値だけで、表名・列名やORDER BYの並び順はプレースホルダにできない。その部分を可変にするなら、受け付ける文字列を許可リストで限定する。エスケープ処理による対策は文字コード次第で抜けが生じるため、置き換えられないときの次善の策と位置づけられる。

関連用語

出た過去問

解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。

この語が出る過去問を解く →

試験での特徴
  • 2問の解説で触れられる(2017年度〜2024年度)
  • 分野:テクノロジ系
  • 渡せるのは値だけで、表名・列名やORDER BYの並び順はプレースホルダにできない。