# pg_update

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

pg_update — 更新表

### 说明

pg_update ( resource `$connection` , string `$table_name` , array `$data` , array `$condition` [, int `$options` = PGSQL_DML_EXEC ] ) : mixed

pg_update() 用 condition 作为条件查询数据库，用 data 中的数据更新符合条件的记录。如果指定了 options，则 pg_convert() 会按照指定选项作用到 data 上。

Warning

此函数是实验性的。此函数的表象，包括名称及其相关文档都可能在未来的 PHP 发布版本中未通知就被修改。使用本函数风险自担 。

### 参数

`connection`

  PostgreSQL database connection resource.

`table_name`

  Name of the table into which to update rows.

`data`

  An array whose keys are field names in the table `table_name`, and whose values are what matched rows are to be updated to.

`condition`

  An array whose keys are field names in the table `table_name`, and whose values are the conditions that a row must meet to be updated.

`options`

  Any number of `PGSQL_CONV_OPTS`, `PGSQL_DML_NO_CONV`, `PGSQL_DML_EXEC` or `PGSQL_DML_STRING` combined. If `PGSQL_DML_STRING` is part of the `options` then query string is returned.

### 返回值

成功时返回 `TRUE`， 或者在失败时返回 `FALSE`。 Returns string if `PGSQL_DML_STRING` is passed via `options`.

### 范例

Example #1 pg_update() example

    <?php
      $db = pg_connect('dbname=foo');
      $data = array('field1'=>'AA', 'field2'=>'BB');

      // This is safe, since $_POST is converted automatically
      $res = pg_update($db, 'post_log', $_POST, $data);
      if ($res) {
          echo "Data is updated: $res\n";
      } else {
          echo "User must have sent wrong inputs\n";
      }
    ?>

### 参见

- pg_convert() - 将关联的数组值转换为适合 SQL 语句的格式。