pg_update

(PHP 4 >= 4.3.0, PHP 5)

pg_update --  Update table

Описание

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

pg_update() updates records that matches condition with data. If options is specified, pg_convert() is applied to data with specified options.

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях 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.

Примеры

Пример 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()



pg_update
jhooks
13-Apr-2006 07:54
> Return Values
>
> Returns TRUE on success or FALSE on failure. Returns string if
> PGSQL_DML_STRING is passed via options.

I have found in my copy of PHP (version 4.4.0) that if you use the 'PGSQL_DML_STRING' option, the function does not execute any query.  It merely returns the query which would have been executed. 

Another thing I noticed, pg_update does not seem to make use of pg_trace (atleast in 4.4.0).

PS this isn't a bug report, just an explanation of some undocumented features I noticed.  As the manual says, the function is still in development so this behaviour may differ from version to version.
sdibb at myway dot com
14-Jun-2005 07:26
This function is similar to PEAR::DB's autoExecute() function, with the only difference being that the where clause is an array instead of a string.

Also, if you want to use your instance of the DB class with this function, you can reference the existing resource connection with $db->connection.

An example would be:
<?
     pg_update
($db->connection, $arr_update, $arr_where);
?>

<pg_untracepg_version>
 Last updated: Tue, 15 Nov 2005