pg_fetch_object
(PHP 4, PHP 5, PHP 7, PHP 8)
pg_fetch_object — Busca uma linha como um objeto
Descrição
PgSql\Result
$result
,?int
$row
= null
,string
$class
= "stdClass",array
$constructor_args
= []): object|false
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.
Note: 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).
Parâmetros
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
.
Valor Retornado
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.
Erros/Exceções
Um ValueError é lançado quando
o constructor_args
não está vazio e a classe não possui construtor.
Registro de Alterações
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.
|
Exemplos
Example #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);
?>
Veja Também
- pg_query() - Executa uma consulta
- pg_fetch_array() - Busca uma linha como um array
- pg_fetch_assoc() - Busca uma linha como um array associativo
- pg_fetch_row() - Obtém uma linha como um array enumerado
- pg_fetch_result() - Retorna valores de uma instância de resultado