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>";