指定したパラメータでプリペアドステートメントを作成するリクエストを 送信し、その結果を待たない

# pg_send_prepare

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

pg_send_prepare — 指定したパラメータでプリペアドステートメントを作成するリクエストを 送信し、その結果を待たない

### 説明

function pg_send_prepare(PgSql\Connection `$connection`, string `$statement_name`, string `$query`): int|bool

指定したパラメータでプリペアドステートメントを作成するリクエストを 送信し、その結果を待ちません。

これは pg_prepare() の非同期バージョンです。 リクエストが受け付けられた場合に `true` 、そうでない場合に `false` を返します。コールが成功した後、実際にプリペアドステートメントが 作成されたかどうかを調べるには pg_get_result() を使用します。関数のパラメータは pg_prepare() と同じように処理されます。pg_prepare() と同様、 7.4 より前の PostgreSQL のバージョンでは正しく動作しません。

### パラメータ

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

  プリペアドステートメントにつける名前。接続内で一意である必要があります。 "" が指定された場合は無名ステートメントが作成され、以前に定義された 無名ステートメントを上書きします。

`query`

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

### 戻り値

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

### 変更履歴

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

### 例

例1 pg_send_prepare() の使用法

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

      // 実行するクエリを準備する
      if (!pg_connection_busy($dbconn)) {
        pg_send_prepare($dbconn, "my_query", 'SELECT * FROM shops WHERE name = $1');
        $res1 = pg_get_result($dbconn);
      }

      // プリペアドクエリを実行する。文字列 "Joe's Widgets" は
      // エスケープの必要がないことに注意
      if (!pg_connection_busy($dbconn)) {
        pg_send_execute($dbconn, "my_query", array("Joe's Widgets"));
        $res2 = pg_get_result($dbconn);
      }

      // 同一プリペアドクエリを別のパラメータで実行する
      if (!pg_connection_busy($dbconn)) {
        pg_send_execute($dbconn, "my_query", array("Clothes Clothes Clothes"));
        $res3 = pg_get_result($dbconn);
      }

    ?>

### 参考

- pg_connect() - PostgreSQL 接続をオープンする
- pg_pconnect() - 持続的な PostgreSQL 接続をオープンする
- pg_execute() - 指定したパラメータを用いてプリペアドステートメントを実行するリクエストを 送信し、その結果を待つ
- pg_send_execute() - 指定したパラメータでプリペアドステートメントを実行するリクエストを 送信し、その結果を待たない
- pg_send_query_params() - コマンドとパラメータを分割してサーバーに送信し、その結果を待たない

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