r); } public function lastId(): int { if ($r = @pg_query($this->db, "SELECT lastval()")) { return (int) pg_fetch_result($r, 0, 0); } else { return 0; } } // constructor/destructor public function __construct($db, $result) { $this->db = $db; $this->r = $result; } public function __destruct() { pg_free_result($this->r); unset($this->r, $this->db); } // PHP iterator methods public function valid() { $this->cur = pg_fetch_row($this->r, null, \PGSQL_ASSOC); return $this->cur !== false; } }