(PHP 4, PHP 5, PHP 7, PHP 8)
pg_fetch_object — Lee una fila de resultado PostgreSQL en un objeto
$result
,$row
= null
,$class
= "stdClass",$constructor_args
= []pg_fetch_object() devuelve un objeto con sus propiedades que corresponden a los nombres de los campos de la fila. La función puede instanciar opcionalmente un objeto de una clase específica y pasar los argumentos al constructor de dicha clase.
Nota: Esta función define campos NULOS al valor
null
de PHP.
En cuanto a velocidad, la función es idéntica a pg_fetch_array() y es casi tan rápida como pg_fetch_row() (la diferencia es insignificante).
result
An PgSql\Result instance, returned by pg_query(), pg_query_params() or pg_execute()(among others).
row
Número de la fila a recuperar. Las filas se numeran comenzando por 0. Si el argumento se omite o es null
, se recupera la siguiente fila.
class
El nombre de la clase a instanciar, fija las propiedades de esta y sus valores de retorno. Si no se especifica nada, se devuelve un objeto de tipo stdClass.
constructor_args
Parámetro opcional de tipo array para pasar argumentos al constructor de la clase class
.
Un objeto de tipo object con los atributos para cada campo en el conjunto de resultados. Los valores null
de la base de datos se devuelven como null
.
false
se devuelve si row
excede el número de filas en el conjunto de resultados, no hay más filas disponibles o cualquier otro error.
Se lanza una ValueError cuando el argumento constructor_args
no está vacío y la clase no tiene constructor.
Versión | Descripción |
---|---|
8.3.0 |
Ahora lanza una excepción ValueError cuando el argumento constructor_args no está vacío y la clase no tiene constructor; anteriormente, se lanzaba una excepción Exception.
|
8.1.0 |
The result parameter expects an PgSql\Result
instance now; previously, a recurso was expected.
|
Ejemplo #1 Ejemplo con pg_fetch_object()
<?php
$database = 'store';
$db_conn = pg_connect("host=localhost port=5432 dbname=$database");
if (!$db_conn) {
echo "La conexión a la base $database ha fallado\n";
exit;
}
$qu = pg_query($db_conn, "SELECT * FROM libros ORDER BY autor");
while ($data = pg_fetch_object($qu)) {
echo $data->autor . " (";
echo $data->anio . "): ";
echo $data->titulo . "<br />";
}
pg_free_result($qu);
pg_close($db_conn);
?>