false No rows returned error - Mailing list pgsql-sql

From Jim Martinez
Subject false No rows returned error
Date
Msg-id Pine.LNX.4.33.0203230955120.7406-100000@unagi.e-techservices.com
Whole thread Raw
Responses Re: false No rows returned error  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: false No rows returned error  ("Dan Langille" <dan@langille.org>)
List pgsql-sql
I am getting a No rows returned error from a php script when there are
rows.

I can cut and paste the sql statement in the error message into psql and
the query returns 17 rows (which is correct).  But why doesn't the result
set in php seem to have any rows?

There are no errors in the apache logs and I don't have access to the 
posgtres log file.

I'm using postgreSQL 7.1.3, apache 1.3.22, php 4.0.6 running on a 2.4.7-10 
linux kernel.

Below is a code snippet (some lines wrapped, sorry).

Thanks in Advance,
Jim

<?
$conn=pg_connect("user=scott");

// make sure I'mconnecting to the correc db
echo "<b>database name:". pg_dbname($conn)."</b></hr>\n";

if (!$conn){       exit(" connection failed: " . __FILE__ . __LINE__ . "error: " .        pg_errormessage($conn) );
}

$sql = "select pin, last_section_completed, comment from demographics";

$res = pg_exec($conn, $sql) || exit ("query failed: ".__FILE__ . __LINE__ 
."<br> sql is $sql" );

if (!$res){ exit ("post query check failed");}

// 
// script dies here (line 36), falling to the exit clause.
// A warning is printed also : 
// Warning: Supplied argument is not a valid 
// PostgreSQL result resource 
// in /home/www/test/php_debug.php on line 36

$rows = pg_numrows($res) || exit ("No rows returned ".__FILE__ ." line:". 
__LINE__ . "<br> sql is $sql" ); // line 36

echo "<table>\n";
for($i=0;$i<$rows;$i++){
       echo "<tr>\n";       $pin = pg_results($res,$i,'pin');       $section = pg_results($res, $i,
'last_section_completed');      $comment = pg_results($res, $i, 'comment');       $filler = pg_results($res, $i,
'filler');      echo "<td> $pin </td><td> $section </td><td> $comment</td>";       echo "<td> $filler </td>\n";
echo"</tr>\n";
 
}
echo "</table>";





pgsql-sql by date:

Previous
From: Richard Huxton
Date:
Subject: Re: How to return more than one variable from PgPlSQL procedure?
Next
From: Tom Lane
Date:
Subject: Re: false No rows returned error