どうすれば外挿バージョンのパラメタライズド-クエリ?
-
22-09-2019 - |
質問
ようにしているデータベース図書館を使用して作用パラメータ化されたクエリーと同僚の方は非常に詳しいSQLインジェクションなうひとつ忘れてはいけない脱力だけでパスの配列パラメータの代わり(を使用してい pg_query_params
).
しかし、私はラインの問題です。必要条件の一つはデータベースの図書館でログの各クエリは実行されるやまだひさしをはじめとする姿をわかりやすく伝えるためのテキストのパラメタライズド-クエリを一度にパラメータを記入してください。がこれを外からの圧延に自分の機能のパラメータ化された質問かもしれません)?
つまり、実行時パラメタライズド-クエリのように
pg_query_params('SELECT id FROM table WHERE foo = $1', array('bar'));
用していただきたいと思いようなもの
SELECT id FROM table WHERE foo = 'bar'
解決
PostgreSQL
拡張プロトコルを使用 pg_query_params
)分離のパラメータからクエリ.
の疑問には最終的に建築とされ、サーバ側のあり方を構築し、クライアント側のみを使用 PostgreSQL
主力です。
でも代用できますのでパラメータの値を提供し、ログのクエリを送信前に、params用 preg_replace
.
更新:
を得ることができ PostgreSQL
ログイン るログのクエリファイルには syslog
を含む結合パラメータ)サーバ側では、定期的に負荷のこのファイルを PostgreSQL
表に示す。
他のヒント
あなたがあなた自身のラッパー関数を使用して、ソースコードで)pg_query_params(のすべての発生を置き換えることができない限り(可能な場合は、その後、あなたはラッパーの宣言を含めるようにPHPで自動プリペンド機能を使用する場合があります)、その後のことができます。だけは本当にデータベースレベルでこれを行います。
C