Skip to Content.
Sympa Menu

freetds - Re: [freetds] DBD::Sybase doesn't return number of rows affected

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: Srdan Dukic <srdan.dukic AT gmail.com>
  • To: FreeTDS Development Group <freetds AT lists.ibiblio.org>
  • Subject: Re: [freetds] DBD::Sybase doesn't return number of rows affected
  • Date: Fri, 16 Apr 2010 14:26:22 +1200

On 16 April 2010 04:35, Robert Gonzalez <robert AT robert-gonzalez.com> wrote:

> I think that might actually actually be the way that MSSQL returns true
> values. I ran into this once in a script I was working on where I was
> expected a 1 returned for success but got back a -1. Not sure why it does
> that, but in almost every case where I expected a boolean true value
> expressed as an int I got a -1 in return. Stupid, I know, but manageable
> when you know what to expect.
>

Woops. I just realised that I made a mistake in describing the problem. The
code returns the correct number of rows on insert statements, but when I do
a select statement:

...
$query = "SELECT * FROM Simple.dbo.test";
$sth = $dbh->prepare ($query) or die 'prepare failed\n';
$sth->execute() or die "unable to execute query $query error $DBI::errstr";

$rows = $sth->rows ;
print "$rows rows returned by query\n";
.....

It outputs:

-1 rows returned by query

Not sure if this is intended behaviour (i.e. there is another way to get the
number of rows returned) or a bug.


--
Srđan Đukić




Archive powered by MHonArc 2.6.24.

Top of Page