[PHP] Retornar pg_fetch_object($result);

Olá, tem como eu criar uma classe php com uma função que retorne um pg_fetch_object($result) ?

exemplo com as devidas conexões funcionando:

class DAO{
public function get(){
$sql = "select * from tabela;
$result = pg_query($sql);
return pg_fetch_object($result);
}
}
$DAO = new DAO();
$DAO->get();

while($DAO){
echo $DAO->nome; //nome é um dos campos da tabela
}

do jeito que está, dá erro Maximum execution time of 30 seconds exceeded

**e minha tabela só tem 2 registros, creio que seja falha no código mesmo.

Valew

Rapaz, isso é gambiarra.
Faz o seguinte, cria uma variável que receba o fetch_array e retorna ela.

   class DAO{  
   public function get(){  
   $sql = "select * from tabela;  
   $result = pg_query($sql);  
   $linha = pg_fetch_object($result);  
   return $linha;
   }  
   }  

Mas isso não é a mesma coisa que eu tinha feito ? retornar o comando, e retornar a variavel que recebe o comando nao é a mesma coisa?

***Nada mudou retornando a variável, mesma coisa, ele da erro de tempo limite 30 segundos.

Faz uns 3 anos que não programo mais em php, alguem me corriga se eu estiver errado.

quando você faz:

while ($variavel) {
    ...
}

qualquer valor em $variavel diferente de NULL, false e 0 será sempre true ? … Se for isso, como seu $DAO é um objeto, ele nunca vai sair desse fluxo (dando timeout pelo PHP).

Outra questão é usar fetch_object, ele é mais lento que fetch_array. E o certo seria algo como:

$retorno = $DAO->get();

Aqui tem ótimos exemplos: http://br2.php.net/manual/pt_BR/function.pg-fetch-array.php
[]'s