コマンドとパラメータを分割してサーバーに送信し、その結果を待たない

# pg_send_query_params

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

pg_send_query_params — コマンドとパラメータを分割してサーバーに送信し、その結果を待たない

### 説明

function pg_send_query_params(PgSql\Connection `$connection`, string `$query`, array `$params`): int|bool

コマンドとパラメータを分割してサーバーに送信します。その結果を待つことは しません。

これは pg_send_query() とほぼ同じですが、パラメータが `query` とは別に分かれている点が違います。 関数のパラメータは、pg_query_params() によって 完全に制御されます。pg_query_params() と同様、 7.4 より前の PostgreSQL では動作しません。またクエリ文字列には ひとつのコマンドのみを含めることができます。

### パラメータ

`connection`
  PgSql\Connection クラスのインスタンス。
`query`

  パラメータ化した SQL 文。ひとつの文のみである必要があります （複数の文をセミコロンで区切る形式は使用できません）。パラメータを 使用する際は $1、$2 などの形式で参照されます。

`params`

  プリペアドステートメント中の $1、$2 などのプレースホルダを 置き換えるパラメータの配列。配列の要素数はプレースホルダの 数と一致する必要があります。

### 戻り値

成功した場合に `true` 、失敗した場合に `0` を返します。 クエリの結果を確かめるには pg_get_result() を使用します。

### 変更履歴

バージョン | 説明
--- | ---
8.1.0 | `connection` は、PgSql\Connection クラスのインスタンスを期待するようになりました。 これより前のバージョンでは、resource を期待していました。

### 例

例1 pg_send_query_params() の使用法

    <?php
      $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

      // パラメータを使用する。パラメータにはクォートやエスケープが
      // 必要ないことに注意
      pg_send_query_params($dbconn, 'select count(*) from authors where city = $1', array('Perth'));

      // 基本的な pg_send_query の使用法との比較
      $str = pg_escape_string('Perth');
      pg_send_query($dbconn, "select count(*) from authors where city = '{$str}'");
    ?>

### 参考

- pg_send_query() - 非同期クエリを送信する

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open