3

SELECTCodeIgniter を使用してプロジェクトを開発しています。表示されるページには、ページに表示されるデータに対して使用可能なクエリ (ステートメント) を含むオプション リストがあります。これらのクエリは MySQL テーブルに保存され、ユーザー定義のクエリが含まれます。

私の質問は、選択したクエリの実行を処理する最良の方法は何ですか?

  1. view_idquery コマンドを使用して、テーブル (キー)から SQL ステートメントを取得します。返された SQL ステートメントのパラメーターを置き換えます。query コマンドを使用して SQL ステートメントを実行します。

  2. ページをロードするときに、SQL ステートメントを配列に格納します (サイズが大きくなる可能性があります)。ユーザーがページの選択を変更すると、配列からステートメントを取得し、ステートメントのパラメーターを置き換えて、クエリを実行します。

  3. MySQL の準備済みステートメントを使用します。(すべてのビューで同じパラメーター シーケンスが必要になるため、パラメーターに関する問題を予見してください)

  4. その他のオプション?

効率的で安全な方法を探しています。

ありがとう

4

1 に答える 1

0

最初のもの - あなたのSQLを公開しないでください - あなたはトラブルを求めているだけです。

ユーザー入力を実行中の実際のコードから分離したい。ユーザーが持つ通常のものへのリンクのリストのように設定します - たとえば、プロファイル、アカウント設定など。

入力を解析して、SQL インジェクション、実際にそのクエリを実行する権限などを取得します。

つまり、サイト内のページの名前の単純なリストのように設定します。SQL ステートメントを選択していることを完全に無視します。

于 2012-11-05T10:34:57.720 に答える