SQLインジェクションの対策は、IPAの以下の資料にまとめられています。
http://www.ipa.go.jp/files/000024396.pdf

その情報を参考にすると、主な対策は以下です。

1.根本的解決
(1)エスケープ処理
①バインド機構の利用
②プログラムでのエスケープ処理
 入力フォームによる入口でのチェックも有用
 
2.保険的対策
(1)エラーメッセージを非表示
 エラーメッセージは、攻撃者に情報を与えてしまう。
 また、ブラインドSQLインジェクション(Blind SQL injection)という手法があり、入力値と応答結果から、脆弱性を把握する。たとえば、ID/Passを入力したときに、「IDが存在しません」「パスワードが間違っています」と丁寧にエラーを返せば、攻撃者にもIDが違うのかPassが違うのかの情報を与えてしまう。
(2)データベースアカウント
権限の見直し。必要最小限の権限しか与えておかなければ、被害も少なくなる。

H21SC春午前Ⅱ問14
SQLインジェクション対策について、Webアプリケーションの実装における対策とWebアプリケーションの実装以外の対策の組合せとして、適切なものはどれか。

Webアプリケーションの実装における対策

Webアプリケーションの実装以外の対策
Webアプリケーションの中でシェルを起動しない。chroot環境でWebサーバを実行する。
セッションIDを複雑なものにする。SSLによって、通信内容を秘匿する。
バインド機構を利用する。データベースのアカウントのもつデータベースアクセス権限を必要最小限にする。
パス名やファイル名をパラメタとして受け取らないようにする。重要なファイルを公開領域に置かない。
 
今回の内容はとても難しい内容ですが、SQLインジェクションというキーワードから、「データベース」に関する対策を選ぶと、ウのみになります。