mysqli_result::fetch_object

mysqli_fetch_object

(PHP 5, PHP 7, PHP 8)

mysqli_result::fetch_object -- mysqli_fetch_objectDevuelve la siguiente fila de un conjunto de resultados como objeto

Descripción

Estilo orientado a objetos

public mysqli_result::fetch_object(string $class = "stdClass", array $constructor_args = []): object|null|false

Estilo por procedimientos

mysqli_fetch_object(mysqli_result $result, string $class = "stdClass", array $constructor_args = []): object|null|false

Devuelve una fila de datos en el conjunto de resultados y la retorna como objeto, donde cada propiedad representa el nombre de la columna del conjunto de resultados. Cada llamada posterior a esta función retornará la siguiente fila en el conjunto de resultados, o null si no hay más filas.

Si dos o más columnas del resultado tienen el mismo nombre, la última columna tendrá prioridad y sobrescribirá todos los datos anteriores. Para acceder a múltiples columnas con el mismo nombre, la mysqli_fetch_row() puede ser utilizada para recuperar el array indexado numéricamente o se pueden usar alias en la lista de selección de la consulta SQL para dar nombres diferentes a las columnas.

Nota: Esta función afecta las propiedades del objeto antes de llamar a su constructor.

Nota: Los nombres de los campos devueltos por esta función son sensibles a mayúsculas y minúsculas.

Nota: Esta función define campos NULOS al valor null de PHP.

Parámetros

result

Sólo estilo por procedimientos: Un conjunto de identificadores de resultados devuelto por mysqli_query(), mysqli_store_result() o mysqli_use_result().

class

El nombre de la clase a instanciar. Si no se proporciona, se retornará un objeto stdClass.

constructor_args

Un array de argumentos (opcional) a pasar al constructor de la clase class.

Valores devueltos

Retorna un objeto que representa la fila recuperada, donde cada propiedad representa el nombre de la columna del conjunto de resultados, null si no hay más filas en el conjunto de resultados, o false en caso de error.

Errores/Excepciones

Se lanza una ValueError cuando constructor_args no está vacío y la clase no tiene constructor.

Historial de cambios

Versión Descripción
8.3.0 Ahora se lanza una excepción ValueError cuando constructor_args no está vacío y la clase no tiene constructor; anteriormente, se lanzaba una excepción Exception.
8.0.0 constructor_args ahora acepta [] para constructores con 0 parámetros; antes se lanzaba una excepción.

Ejemplos

Ejemplo #1 Ejemplo mysqli_result::fetch_object()

Estilo orientado a objetos

<?php

mysqli_report
(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

$query = "SELECT Name, CountryCode FROM City ORDER BY ID DESC";

$result = $mysqli->query($query);

while (
$obj = $result->fetch_object()) {
printf("%s (%s)\n", $obj->Name, $obj->CountryCode);
}

Estilo por procedimientos

<?php

mysqli_report
(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

$query = "SELECT Name, CountryCode FROM City ORDER BY ID DESC";

$result = mysqli_query($link, $query);

while (
$obj = mysqli_fetch_object($result)) {
printf("%s (%s)\n", $obj->Name, $obj->CountryCode);
}

El resultado de los ejemplos sería algo similar a:

Pueblo (USA)
Arvada (USA)
Cape Coral (USA)
Green Bay (USA)
Santa Clara (USA)

Ver también