If it is not updating that is leading me to believe that the
vlaue of primipaddr does not exist in the table. This would give an update
of 0
dev=> create table test9 (test integer not null);
CREATE
dev=> insert into test9 values (1);
INSERT 339522 1
dev=> insert into test9 values (2);
INSERT 339523 1
dev=> insert into test9 values (3);
INSERT 339524 1
dev=> insert into test9 values (4);
INSERT 339525 1
dev=> insert into test9 values (5);
INSERT 339526 1
dev=> \d test9
Table "test9"
Column | Type | Modifiers
--------+---------+-----------
test | integer | not null
dev=> UPDATE test9 set test = 6 where test = 7;
UPDATE 0
This is my two cents worth
Hope it helps
Darren
Darren Ferguson
On Thu, 3 Jan 2002, Dave VanAuken wrote:
> Am retrieveing an "available" ipaddress from a table, then later trying to
> perform an update to "assign" the address to an id. The update produces no
> error, but doesn't update either. Must be overlooking something but can't place
> a finger on it.
>
> Table "host_ipaddress"
> Attribute | Type | Modifier
> -----------+---------+----------
> server | text | not null
> type | text |
> hostnum | integer | not null
> address | text |
> Index: host_ipaddress_pkey
>
>
> <?PHP
> # Variables
> $database = ***pg_connect statement***
> $hostnum=2; # client reference number
> $primipaddr=AssignPrivateIP($hostnum,'web'); #function returns IP address
>
> # Function
> function AssignPrivateIP($hostnumber,$server) {
> global $database;
> $query = "SELECT address FROM host_ipaddress WHERE server='$server' AND
> type='private' AND hostnum=0 LIMIT 1";
> $result = pg_exec($database,$query);
> if(pg_numrows($result)==0) {
> $return=0;
> } else {
> $row = pg_fetch_array($result,0);
> $return=$row[0];
> }
> return $return;
> }
>
> # Queries
>
> # following does not work, the hostnum in the database table stays at 0
> $query="UPDATE host_ipaddress SET hostnum=$hostnum WHERE address='$primipaddr'";
>
> # the following updates all records for the server/of type priv to 2
> # **EXCEPT** the IP address we retrieved from the function (which we want to
> update)
> $query="UPDATE host_ipaddress SET hostnum=2 WHERE server='web' AND type='priv'";
>
> ...appropriate exec etc...
> ?>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org
>