Re: [SQL] perl and postgres. . .

From: "Gene Selkov, Jr(dot)" <selkovjr(at)mcs(dot)anl(dot)gov>
To: JT Kirkpatrick <jt-kirkpatrick(at)mpsllc(dot)com>, pgsql-interfaces(at)hub(dot)org
Subject: Re: [SQL] perl and postgres. . .
Date: 1999-04-21 19:36:08
Message-ID: 199904212036.PAA20785@antares.mcs.anl.gov
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-interfaces

> I am trying
> $query="select max((userseq) from dataentry;";
> $result=$conn->exec("$query");
> $userseq=($result->getvalue(0,0));
>
> * I need the value in a variable name other than $result. . .
>
> If I try
> $query="select max((userseq) from dataentry;";
> $result->getvalue(0,0);
> $userseq=$result;
>
> it bombs. Ahhh, the frustrations of being new to this!

Now I see what your problem is. You missed the whole point. $result is
not a variable, it is an object reference, so is $conn. The exec()
method of $conn (or rather, that of the object referenced by $conn)
returns the result object. You normally access the object's data
through its methods, in this case, getvalue(), fetchrow(), etc. -- see
the Pg doc for the full list.

So the following simply copies the reference to the result object into
$userseq, and that may bomb, depending on how you use it further:

> $userseq=$result;

The following the value you need, but it since there is no explicit
assignment, it is getting lost:

> $result->getvalue(0,0);

What you needed was

$userseq = $result->getvalue(0,0);

And again, the manual for Pg has complete examples. Note the code you
need to add to check for errors that may result from each method call.

--Gene

Browse pgsql-interfaces by date

  From Date Subject
Next Message Gene Selkov Jr. 1999-04-21 20:45:16 Re: [INTERFACES] Detecting existance of table
Previous Message Brett W. McCoy 1999-04-21 19:10:28 Re: [SQL] perl and postgres. . .