(PHP 4, PHP 5, PHP 7, PHP 8)
pg_fetch_object — Busca uma linha como um objeto
$result
,$row
= null
,$class
= "stdClass",$constructor_args
= []pg_fetch_object() retorna um objeto com propriedades que correspondem aos nomes dos campos da linha buscada. Opcionalmente, ele pode instanciar um objeto de uma classe específica e passar parâmetros para o construtor dessa classe.
Nota: Esta função define campos NULL como o valor
null
do PHP.
Em termos de velocidade, a função é idêntica a pg_fetch_array() e quase tão rápida quanto pg_fetch_row() (a diferença é insignificante).
result
Uma instância de PgSql\Result, retornada por pg_query(), pg_query_params() ou pg_execute() (entre outras).
row
Número da linha no resultado a ser buscado. As linhas são numeradas de 0 para cima. Se
omitido ou null
, a próxima linha será buscada.
class
O nome da classe a ser instanciada, definir as propriedades e retornar. Se não for especificado, um objeto stdClass será retornado.
constructor_args
Um array opcional de parâmetros a serem passados ao construtor
para objetos class
.
Um object com um atributo para cada nome de campo
no resultado. Os valores NULL
do banco de dados
são retornados como null
.
false
é retornado se row
exceder o número
de linhas no conjunto, não houver mais linhas ou em qualquer outro erro.
Um ValueError é lançado quando
o constructor_args
não está vazio e a classe não possui construtor.
Versão | Descrição |
---|---|
8.3.0 |
Agora lança uma exceção ValueError quando
o constructor_args não está vazio e a classe não possui construtor;
anteriormente uma Exception era lançada.
|
8.1.0 |
O parâmetro result agora espera uma instância de PgSql\Result;
anteriormente, um resource era esperado.
|
Exemplo #1 Exemplo de pg_fetch_object()
<?php
$database = "store";
$db_conn = pg_connect("host=localhost port=5432 dbname=$database");
if (!$db_conn) {
echo "Falha ao conectar ao banco de dados postgres $database\n";
exit;
}
$qu = pg_query($db_conn, "SELECT * FROM books ORDER BY author");
while ($data = pg_fetch_object($qu)) {
echo $data->author . " (";
echo $data->year . "): ";
echo $data->title . "<br />";
}
pg_free_result($qu);
pg_close($db_conn);
?>