pg_send_prepare

Sends a request to create a prepared statement with the given parameters, without waiting for completion.

&reftitle.description; `bool` `pg_send_prepare` `resource` `connection` `string` `stmtname` `string` `query`

Sends a request to create a prepared statement with the given parameters, without waiting for completion.

This is an asynchronous version of `pg_prepare`: it returns &true; if it was able to dispatch the request, and &false; if not. After a successful call, call `pg_get_result` to determine whether the server successfully created the prepared statement. The function's parameters are handled identically to `pg_prepare`. Like `pg_prepare`, it will not work on pre-7.4 versions of PostgreSQL.

&reftitle.parameters;

`connection`

- PostgreSQL database connection resource. When `connection` is not present, the default connection is used. The default connection is the last connection made by `pg_connect` or `pg_pconnect`.

`stmtname`

- The name to give the prepared statement. Must be unique per-connection. If "" is specified, then an unnamed statement is created, overwriting any previously defined unnamed statement.

`query`

- The parameterized SQL statement. Must contain only a single statement. (multiple statements separated by semi-colons are not allowed.) If any parameters are used, they are referred to as $1, $2, etc.

&reftitle.returnvalues;

Returns &true; on success, &false; on failure. Use `pg_get_result` to determine the query result.

&reftitle.examples;

### Using `pg_send_prepare`

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

      // Prepare a query for execution
      if (!pg_connection_busy($dbconn)) {
        pg_send_prepare($dbconn, "my_query", 'SELECT * FROM shops WHERE name = $1');
        $res1 = pg_get_result($dbconn);
      }

      // Execute the prepared query.  Note that it is not necessary to escape
      // the string "Joe's Widgets" in any way
      if (!pg_connection_busy($dbconn)) {
        pg_send_execute($dbconn, "my_query", array("Joe's Widgets"));
        $res2 = pg_get_result($dbconn);
      }

      // Execute the same prepared query, this time with a different parameter
      if (!pg_connection_busy($dbconn)) {
        pg_send_execute($dbconn, "my_query", array("Clothes Clothes Clothes"));
        $res3 = pg_get_result($dbconn);
      }

    ?>

&reftitle.seealso;

- `pg_connect`
- `pg_pconnect`
- `pg_execute`
- `pg_send_execute`
- `pg_send_query_params`