PHP

pg_update

pg_update

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

pg_update — 更新表

描述

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

pg_update()更新与数据匹配条件的记录。如果指定了选项,pg_convert()将应用于具有指定选项数据

参数

connection

PostgreSQL数据库连接资源。

table_name

要更新行的表的名称。

data

一个数组,其键是表中的字段名table_name,其值是匹配行要更新的数据。

condition

一个数组,其键是表中的字段名table_name,其值是行必须满足以更新的条件。

options

任何数量的PGSQL_CONV_FORCE_NULLPGSQL_DML_NO_CONVPGSQL_DML_ESCAPEPGSQL_DML_EXECPGSQL_DML_ASYNCPGSQL_DML_STRING组合。如果是返回的查询字符串的PGSQL_DML_STRING一部分options。当PGSQL_DML_NO_CONV或者PGSQL_DML_ESCAPE被设置时,它不会在内部调用pg_convert()。

返回值

成功时返回TRUE或失败时返回FALSE。如果通过选项传递 PGSQL_DML_STRING, 则返回字符串。

例子

示例#1 pg_update()示例

<?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";   } ?>

更新日志

描述
5.6.0不再是实验性的。增加了PGSQL_DML_ESCAPE常量,TRUE / FALSE和NULL数据类型支持。
5.5.3/5.4.19将直接SQL注入到table_name和间接SQL注入到标识符是固定的。