pg_query_params SQL コマンドとパラメータを分割してサーバーへ送信し、その結果を待つ &reftitle.description; PgSql\Resultfalsepg_query_params PgSql\Connectionconnection stringquery arrayparams コマンドをサーバーに送信し、その結果を待ちます。パラメータを SQL コマンド とは別に渡すことが可能です。 pg_query_paramspg_query と似ていますが、追加の機能を有しています。それはパラメータ値が コマンド文字列と分離しているということです。 pg_query_params は PostgreSQL 7.4 以降の接続でのみ サポートされます。それ以前のバージョンでは失敗します。 パラメータを使用する際は、query 文字列内で $1、$2 のように参照されます。 query の中で同じパラメータを何度も使えます。 その場合は、それぞれに同じ値が渡されます。 params で 実際の値を指定します。&null; を指定すると、SQL の NULL とみなされます。 pg_query に対する pg_query_params の最大の利点は、パラメータの値を query 文字列から 分離できることです。そのため、退屈でエラーの元となりやすいクォート・ エスケープなどをしなくてもよくなります。pg_query と異なり、pg_query_params ではひとつの SQL コマンドしか実行できません(クエリ文字列にセミコロンを含めることは 可能です。しかしそれ以降にコマンドを続けることはできません)。 &reftitle.parameters; connection &pgsql.parameter.connection-with-unspecified-default; query パラメータ化した SQL 文。ひとつの文のみである必要があります (複数の文をセミコロンで区切る形式は使用できません)。パラメータを 使用する際は $1、$2 などの形式で参照されます。 ユーザーから受け取った値は常にパラメータとして渡すべきです。 直接クエリ文字列に組み込んではいけません。そうしてしまうと、 SQL インジェクション 攻撃を受けてしまう可能性があります。また、クォート文字を含むデータの処理でバグの原因になります。 何らかの理由でパラメータが使えない場合は、値を 適切にエスケープするようにしましょう。 params プリペアドステートメント中の $1、$2 などのプレースホルダを 置き換えるパラメータの配列。配列の要素数はプレースホルダの 数と一致する必要があります。 bytea フィールド用の値は、パラメータとして指定できません。 pg_escape_bytea を使うか、ラージオブジェクト関数を使うようにしましょう。 &reftitle.returnvalues; 成功した場合に PgSql\Result クラスのインスタンスを返します。 &return.falseforfailure; &reftitle.changelog; &Version; &Description; &pgsql.changelog.return-result-object; &pgsql.changelog.connection-object; &reftitle.examples; <function>pg_query_params</function> の使用法 ]]> &reftitle.seealso; pg_query