Re: perl Pg module and result status
От | Edward Q. Bridges |
---|---|
Тема | Re: perl Pg module and result status |
Дата | |
Msg-id | 200009202329.e8KNTps38058@hub.org обсуждение исходный текст |
Ответ на | perl Pg module and result status (Fernán Agüero <fernan@iib.unsam.edu.ar>) |
Ответы |
Re: perl Pg module and result status
|
Список | 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, Fern�n Ag�ero 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 > > >
В списке pgsql-general по дате отправления: