Thread: Re: [SQL] perl and postgres. . .

Re: [SQL] perl and postgres. . .

From
"Gene Selkov, Jr."
Date:
> 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