From: | "Edward Q(dot) Bridges" <ed(dot)bridges(at)buzznik(dot)com> |
---|---|
To: | Fernn Agero <fernan(at)iib(dot)unsam(dot)edu(dot)ar>, "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: perl Pg module and result status |
Date: | 2000-09-20 23:27:40 |
Message-ID: | 200009202329.e8KNTps38058@hub.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
i can't seem to locate the reference to the documentation
you mention in the perldoc for DBD::Pg, can you reference
it?
as a general note, you should be using the DBI interface
with DBD::Pg and not calling the methods in DBD::Pg
directly. they're "private" and likely to change.
in other words your perl script should "use DBI;" and
not mention DBD::Pg at all.
try this:
use DBI;
$user = '';
$pass = '';
$dburl = ''; # should be: dbi:Pg:dbname=[your database name]
$db = DBI->connect($dburl, $user, $pass, {AutoCommit=>0} )
or die "Can't connect to db";
$sth = $db->prepare( q{ select current_timestamp } )
or die "Can't prepare statement: " . $db->errstr;
$sth->execute()
or die "Can't execute statement: " . $db->errstr;
$result = $sth->fetchrow_array();
($result) ? print "$result\n" : print "error fetching: " . $db->errstr;
__END__
hope this helps
--e--
On Wed, 20 Sep 2000 23:59:41 GMT, Fernn Agero wrote:
> Dear all: i am somewhat new to both perl and PostgreSQL. I am writing
> some perl scripts to store and retrieve information in a pgsql database,
> using the Pg perl module. However i am having trouble doing checks after
> issuing queries or commands.
>
> According to the module documentation:
> "
> $result_status = $result->resultStatus
> Returns the status of the result. For comparing the status you may use
> one of the following constants depending upon the command executed:
> - PGRES_EMPTY_QUERY
> - PGRES_COMMAND_OK
> - PGRES_TUPLES_OK
> - PGRES_COPY_OUT
> - PGRES_COPY_IN
> - PGRES_BAD_RESPONSE
> - PGRES_NONFATAL_ERROR
> - PGRES_FATAL_ERROR
> "
>
> When I check the contents of $result_status it is not any of the
> mentioned constants, but a number (i am now getting 7 for a
> $result->getvalue command after a failed select statement). If i issue
> the same select statement in the pgsql terminal everything works. Thus i
> don't understand what could be happening.
>
> However, comparisons of the kind of:
> if ($result_status != PGRES_COMMAND_OK)
> appear to work most of the times (am i comparing against a number?)
>
> Any help is appreciated.
>
> Thanks in advance,
>
>
> Fernan
>
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Matthew Rice | 2000-09-20 23:51:38 | Re: Public Database of zip code information |
Previous Message | John McKown | 2000-09-20 23:16:37 | Re: copy table from one database to another |