問題タブ [parameterized-query]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
6749 参照

php - バルクパラメータ化インサート

パラメータ化された入力を使用するようにハードコードされたクエリを切り替えようとしていますが、問題が発生しました。パラメータ化された一括挿入の入力をどのようにフォーマットしますか?

現在、コードは次のようになっています。

考えられる解決策(PHPとPDOを使用して単一のMySQLプリペアドステートメントに配列を挿入する方法から変更)は次のようになります。

パラメータ化されたクエリを使用して一括挿入を実行するためのより良い方法はありますか?

0 投票する
4 に答える
123424 参照

php - パラメータ化されたクエリとは何ですか?

パラメータ化されたクエリとは何ですか?そのようなクエリの例はPHPとMySQLでどのようになりますか?

0 投票する
1 に答える
264 参照

asp.net - パラメータ化されたクエリの問題

私は自分のDLLを持っています(データアクセス層用)。ユーザー入力エラーを回避するためにエスケープ文字の手法を使用していますが、最近、パラメーター化されたクエリを使用してクラスを拡張し、発生する可能性のあるすべてのエラーを防止することにしました。変更は簡単ですか、それとも難しいですか?

パラメータ化されたクエリを使用するようにクエリを変換するにはどうすればよいですか?

アイデアを明確にするためのサンプルコードをいくつか見せてください。

0 投票する
1 に答える
622 参照

php - 簡単な英語で説明されているパラメーター化されたクエリとは何ですか?

パラメータ化されたクエリとは何か、SQL インジェクションを回避するために MySQL データベース用に PHP に実装する方法を平易な英語で説明できる人はいますか?

0 投票する
3 に答える
1222 参照

sql - 名前付きパラメーターを使用しない SQL Server のすべてのクエリを無効にしますか?

名前付きパラメーターを使用しないすべてのクエリを単に拒否するだけで、SQL インジェクションのすべての脅威を完全に阻止できるようです。それを行うためにSqlサーバーを構成する方法はありますか? または、SQL パーサー全体を作成せずに各クエリを検査することにより、アプリケーション レベルでそれを強制する方法はありますか? ありがとう。

0 投票する
1 に答える
1960 参照

vba - Excel vba:パラメータ化されたSQLクエリが完了するまで一時停止していますか?

いくつかのドロップダウン メニュー/ユーザー アクションに応じて、いくつかのデータ フィードがパラメーターを SQL クエリに戻すワークブックがあります。これにより、ワークブックのトリムが維持され、計算が改善されます。アイテム レベルの詳細をすべてワークブックにローカルに保持することは実際的ではありません。

VBA の一部の要素は、これらのパラメーター化されたクエリから得られるデータの評価に依存しています。ここで問題が発生します。VBA は、マクロ内のすべてを評価する前に、パラメータがクエリに返されるのを待ちません。

フィードが更新されるまで VBA の実行をプログラムで「一時停止」するためのベスト プラクティスについて、何か考えやアドバイスがあるかどうか知りたいです。私の現在の回避策は、VBA を 2 つの部分にチャンクし、変更されたデータに依存するものを別の関数にスローし、application.ontime を使用して X 秒間一時停止することです。

これは 90% の解決策ですが、理想的とは言えません。時間の長さは任意です。非常に遅い接続では長さが不十分であり、高速な接続では不必要に遅くなります。

理想的には、Excel の準備が整うまで待ってから続行する何らかの方法があるでしょう。MS Internet Controls ライブラリを使用する場合と同様に、使用できます

IE が準備完了状態を返すまで実行を一時停止します。よりエレガントなソリューションのための戦略はありますか?

編集:以下の jon ごとに、コードを追加し、SQL クエリがどのように機能するかを説明します。

? 関連する学生 ID を渡すパラメーターです。MS クエリは、そのパラメーターのセル値を使用します。表示されるセルには、選択された学生に基づいたルックアップがあります。

(iferror は、何らかの理由で不適切な値が選択された場合に厄介なダイアログ ボックスがポップアップするのを防ぐために、任意の数値を渡すだけです)。

0 投票する
1 に答える
272 参照

.net - パラメータ化されたクエリについて

Q:

簡単な例を使用して、Informix データベースでパラメータ化されたクエリを使用してクエリ (select ステートメント) を実行する方法を教えてください。前もって感謝します。

編集

私が使う

IfxConnectionIfxCommand

0 投票する
2 に答える
383 参照

php - mysqli_stmt_fetch が失敗したときにデフォルトの行を取得する方法は?

URL GET パラメータに基づいて MySQL データベースから行を取得する単純な PHP スクリプトがあります。ID と呼ばれる単なる int です。

誰かが DB の行ではない int を入力したり、文字などを入力しようとしたりするなど、GET パラメータがデータベースの無効な ID になる場合は、デフォルトのレコードを表示したいと思います。

次のコードは実際に動作しますが、悪いコードだと思います。なぜなのか、どうすればいいのかわからないだけです。データベース クエリを実行する前に、ID が int であることを検証する必要があることはわかっていますが、無効な ID である整数が使用された場合の対処法は解決しません。

これを適切な質問にするために、false を返す mysqli_stmt_fetch からどのように回復すればよいでしょうか?

気楽に行きましょう、私はナブだと知っています:-)

OK、いくつかのフィードバックと実験により、PHP で ID を int としてキャストし、SQL クエリを次のように変更しました。

これは、私が考えることができるすべてのケースで機能し、安全であるようです。問題はありますか?私が持っていたものよりも良いですか?

0 投票する
4 に答える
13307 参照

asp.net - ASP.NET で "WHERE [列名] IN [値]" 形式を使用して、文字列値のリストを使用して SQL クエリを実行するにはどうすればよいですか?

ASP.NET ページで実行している SQL クエリがあります。最終的に解析された SQL には、WHERE [columnname] IN [values]形式の文字列値のリストが含まれている必要があります。たとえば、最終的なクエリは次のようになります。

ただし、WHERE 句の文字列値は動的である必要があります。通常、コードを便利で安全にするためにパラメータ化されたクエリを使用するので、概念的には次のようにしたいと思います。

ただし、この種の機能は .NET には存在しないようです。これを実装するにはどうすればよいですか?配列で foreach ループを使用し、各値のパラメーターとして 1 つの値を使用してクエリを実行することもできますが、配列には 100 ほどの異なる値が存在する可能性があり、それらを個別にクエリするのは非常に非効率的です。

誰かが強く型付けされた int パラメータの解決策を提案した別の質問を読みましたが、特にクライアントが入力値に影響を与える可能性が非常に高いため、文字列値で使用すると、その方法は SQL インジェクションについて不安になります。

このクエリ機能をどのように実装しますか?

DBの詳細で編集

データベースは SQL Server 2005 です。言い忘れてすみません。

0 投票する
6 に答える
50886 参照

c# - パラメータ化されたクエリは、SQL インジェクションに対してどのように役立ちますか?

クエリ 1 と 2 の両方で、テキスト ボックスのテキストがデータベースに挿入されます。ここでのパラメーター化されたクエリの重要性は何ですか?

  1. txtTagNumberクエリ パラメータとして渡す

    /li>
  2. txtTagNumberクエリを作成する前に整数に変換する

    /li>

また、ここでは、正規表現の検証を使用して、不正な文字の挿入を停止します。