2011-10-18 8 views
2

I Categoriesテーブルを持って、人々が言う必要がある:(はい、私のコードは、言葉で働いて:))複数のコードを検索するにはどうすればよいですか?

'list books and pencils'

が、別の日に、彼らが言いたい:

'list books, pencils, notebooks and papers' 

私はmssqlでストアドプロシージャを使用しています。 または、私は4つのパラメータを使用せず、ユーザを制限したいと思います。私は多くのページでこのソリューションを使用するので、私は完璧なソリューションを探しています。

おかげ..

編集:

私は、パフォーマンスとセキュリティのためのストアドプロシージャにそれを解析する必要はありませんが、それが唯一の方法であるならば、私は理解することができ、私を言います。 :)

答えて

1

xmlまたは文字列としてストアドプロシージャに値を渡し、値を解析するストアドプロシージャにいくつかのロジックがあります。

+0

そうだと思いましたが、それが最善の解決策ですか?私はより多くのパフォーマンスが欲しい:)そして私はSQLインジェクションを恐れている。 SQLインジェクションは安全ですか? –

+0

SQLインジェクションは、文字列をどのように渡すかによって異なります。ストアドプロシージャに値を渡すときにパラメータを使用するので、安全でなければなりません。コードまたはストア・プロシージャのいずれかでパラメータを検証することができます。 – Junaid

+0

私は@ statement = "1,4,7"を送信し、mssqlはそれを解析して、おそらく配列を追加します。次に、私のクエリは "ID = 1またはID = 4またはID = 7"となります。本当ですか? –

関連する問題