This is part of The Pile, a partial archive of some open source mailing lists and newsgroups.
Subject: A truly stupid question From: Steve Gorman <gormanst@returnpath.net> Date: Tue, 12 Sep 2000 10:02:46 -0400 I am doing some error checking in my perldb code. Is this true? When I issue an execute command example: $RESULT = $sth->execute()or warn "$DBI::errstr\n"; If it is successful then $RESULT will equal (-1)? I know I read this in the PerlDBI book but, for the life of me, I can't find were I read it. === Subject: Re: A truly stupid question From: Ronald J Kimball <rjk-dbi@focalex.com> Date: Tue, 12 Sep 2000 10:14:02 -0400 On Tue, Sep 12, 2000 at 10:02:46AM -0400, Steve Gorman wrote: > > I am doing some error checking in my perldb code. Is this true? > > When I issue an execute command > example: $RESULT = $sth->execute()or warn "$DBI::errstr\n"; > > If it is successful then $RESULT will equal (-1)? If $RESULT == -1, then the execute was successful; the converse isn't always true however. > I know I read this in the PerlDBI book but, for the life of me, I can't > find were I read it. perldoc DBI: execute $rv = $sth->execute || die $sth->errstr; $rv = $sth->execute(@bind_values) || die $sth->errstr; Perform whatever processing is necessary to execute the prepared statement. An undef is returned if an error occurs. A successful execute always returns true regardless of the number of rows affected, even if it's zero (see below). It is always important to check the return status of execute (and most other DBI methods) for errors. For a non-SELECT statement, execute returns the number of rows affected, if known. If no rows were affected, then execute returns "0E0", which Perl will treat as 0 but will regard as true. Note that it is not an error for no rows to be affected by a statement. If the number of rows affected is not known, then execute returns -1. ===