Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
PHP: pg_update - Manual
[go: Go Back, main page]

PHP  
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | my php.net 
search for in the  
<pg_untracepg_version" width="11" height="7"/>
view the version of this page
Last updated: Sun, 07 May 2006

pg_update

(PHP 4 >= 4.3.0, PHP 5)

pg_update --  テーブルを更新する

説明

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

pg_update() は、data に関して condition にマッチするレコードを更新します。 options が指定された場合、指定したオプションとともに pg_convert()data に適用されます。

警告

この関数は、 実験的 なものです。この関数の動作・ 名前・その他ドキュメントに書かれている事項は、予告なく、将来的な PHP のリリースにおいて変更される可能性があります。 この関数は自己責任で使用してください。

パラメータ

connection

PostgreSQL データベースの接続リソース。

table_name

行を更新するテーブルの名前。

data

テーブル table_name のフィールド名をキーに、 そしてマッチした対象を更新するデータを値にもつ配列。

condition

テーブル table_name のフィールド名をキーに、 そして取得対象となる行にマッチするデータを値にもつ配列。

options

PGSQL_CONV_OPTSPGSQL_DML_NO_CONVPGSQL_DML_EXEC あるいは PGSQL_DML_STRING の組み合わせ。 options の一部に PGSQL_DML_STRING が含まれていた場合、 クエリ文字列が返されます。

返り値

成功した場合に TRUE を、失敗した場合に FALSE を返します。 optionsPGSQL_DML_STRING が渡された場合は文字列を返します。

例 1. pg_update() の例

<?php
  $db
= pg_connect('dbname=foo');
 
$data = array('field1'=>'AA', 'field2'=>'BB');
 
 
// これは安全です。なぜなら $_POST は自動的に変換されるからです。
 
$res = pg_update($db, 'post_log', $_POST, $data);
  if (
$res) {
     echo
"データが更新されました: $res\n";
  } else {
     echo
"ユーザが誤った入力を送信しました。\n";
  }
?>

参考

pg_convert()



add a note add a note User Contributed Notes
pg_update
jhooks
13-Apr-2006 11: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 11: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" width="11" height="7"/>
 Last updated: Sun, 07 May 2006
show source | credits | sitemap | contact | advertising | mirror sites 
Copyright © 2001-2006 The PHP Group
All rights reserved.
This mirror generously provided by: PacketBusiness, Inc.
Last updated: Wed Jun 28 13:19:26 2006 JST