Sebastian: PHP und CURSOR mit PostreSQL

Beitrag lesen

Hi,

ich habe ein Script, welches eine große Datenmenge aus einem SELECT * FROM verarbeiten muss. Aus Neugier wollte ich mir dahingehend mal die PostgreSQL-Cursor ansehen. So siehts im Moment aus:
<?
$result = pg_query($conn, "SELECT count(*) FROM log_entries WHERE request_time BETWEEN '$t1' AND '$t2' LIMIT 3");

$nOfRecords=pg_fetch_row($result);
$nOfRecords=3; // zu Testzwecken!

$dbQuery = "SELECT * FROM log_entries WHERE request_time BETWEEN '$t1' AND '$t2' ORDER BY request_time DESC LIMIT 3;";

$result = pg_query($conn, $dbQuery);

$r = pg_query($conn, 'BEGIN;');
$r = pg_query($conn, 'DECLARE getRecords CURSOR FOR '. $dbQuery);
#$r = pg_query($conn, 'OPEN getRecords FOR ' . $dbQuery);
for ($i=0; $i< $nOfRecords; $i++) {
  $r   = pg_query($conn, "FETCH getRecords;");
  print_r($row);

}
$r = pg_query('CLOSE getRecords;');
$r = pg_query('COMMIT;');
?>

Allerdings funktioniert das nicht, d.h. es wird keine Fehlermeldung ausgegeben, es werden aber auch keine Daten angezeigt. Wo liegt der Hund begraben?

TIA,
Sebastian