pg_convert

Convert associative array values into forms suitable for SQL statements

&reftitle.description; ``array``false```pg_convert` `PgSql\Connection` `connection` `string` `table_name` `array` `values` `int` `flags` 0

`pg_convert` checks and converts the values in `values` into suitable values for use in an SQL statement. Precondition for `pg_convert` is the existence of a table `table_name` which has at least as many columns as `values` has elements. The fieldnames in `table_name` must match the indices in `values` and the corresponding datatypes must be compatible. Returns an array with the converted values on success, &false; otherwise.

Boolean values are accepted and converted to PostgreSQL booleans. String representations of boolean values are also supported. &null; is converted to PostgreSQL NULL.

&reftitle.parameters;

`connection`

- &pgsql.parameter.connection;

`table_name`

- Name of the table against which to convert types.

`values`

- Data to be converted.

`flags`

- Any number of `PGSQL_CONV_IGNORE_DEFAULT`, `PGSQL_CONV_FORCE_NULL` or `PGSQL_CONV_IGNORE_NOT_NULL`, combined.

&reftitle.returnvalues;

An `array` of converted values, &return.falseforfailure;.

&reftitle.errors;

A `ValueError` or `TypeError` is thrown when the value or type of field does not match properly with a PostgreSQL's type.

&reftitle.changelog;

&Version; | &Description;
8.3.0 | Now throws a `ValueError` or `TypeError` error when the value or type of field does not match properly with a PostgreSQL's type; previously an `E_WARNING` was emitted.
&pgsql.changelog.connection-object;

&reftitle.examples;

### `pg_convert` example

    <?php
      $dbconn = pg_connect('dbname=foo');

      $tmp = array(
          'author' => 'Joe Thackery',
          'year' => 2005,
          'title' => 'My Life, by Joe Thackery'
      );

      $vals = pg_convert($dbconn, 'authors', $tmp);
    ?>

&reftitle.seealso;

- `pg_meta_data`
- `pg_insert`
- `pg_select`
- `pg_update`
- `pg_delete`