ITエンジニアのいろは / 28

く: クエリには、値を分けて渡す。

この言葉の意味

データベースへの命令に利用者の入力を文字列としてつぎ足すと、入力が命令の一部として扱われる危険があります。値をパラメーターとして渡せる仕組みを使い、命令と入力値を分けましょう。テーブル名など値とは異なる部分の扱いも、利用する仕組みに応じて確かめます。

たとえば、こんな場面で

理解を助けるための仮の場面です。

よくある場面

検索語をSQLへ直接つなぐと、入力がクエリの構造として扱われるおそれがあります。画面の入力制限だけで防ごうとするのも不十分です。

こう変えてみる

ライブラリの方法に従い、パラメーターとして値を渡します。列名など値として渡せない要素は、許可する候補から選ぶなど別の制御を検討します。

自分に問いかける

入力値とクエリの構造が混ざる箇所は、どこに残っていますか。

今日の実践ヒント

入力値を使う検索処理を一つ見て、文字列の連結で命令を組み立てていないか確認しましょう。

企画・運営:合同会社Oグリーン企画

解説・具体例:いろはの知恵袋(AIを活用して制作)

更新:2026-11-02

四十七枚の一覧へ戻る