Recebe a próxima linha de um resultado como um objeto

# mysqli_result::fetch_object

# mysqli_fetch_object

(PHP 5, PHP 7, PHP 8)

mysqli_result::fetch_object -- mysqli_fetch_object — Recebe a próxima linha de um resultado como um objeto

### Descrição

Estilo orientado a objetos

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

Estilo procedural

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

Recebe uma linha de dados do resultado e retorna-a como um objeto, onde cada propriedade representa o nome da coluna do resultado. Cada chamada subsequente a esta função retornará a linha seguinte dentro do conjunto de resultados, ou `null` se não houver mais linhas.

Se duas ou mais colunas do resultado tiverem o mesmo nome, a última coluna terá precedência e irá sobrescrever os dados anteriores. Para acessar múltiplas colunas com o mesmo nome, mysqli_fetch_row() pode ser usada para receber o array indexado numericamente, ou apelidos podem ser usados na lista de seleção da consulta SQL para dar nomes diferentes às colunas.

> Nota: Esta função define as propriedades do objeto antes de chamar o construtor do objeto.

> Nota: Os nomes de campos retornados por esta função diferenciam maiúsculas e minúsculas.

> Nota: Esta função define campos NULL como o valor `null` do PHP.

### Parâmetros

`result`
  Somente no estilo procedural: Um objeto mysqli_result retornado por mysqli_query(), mysqli_store_result(), mysqli_use_result() ou mysqli_stmt_get_result().
`class`

  O nome da classe a instanciar, definir propriedades e retornar. Se não especificada, um objeto stdClass é retornado.

`constructor_args`

  Um array opcional de parâmetros para passar ao construtor de objetos da classe definida em `class`.

### Valor Retornado

Retorna um objeto que representa a linha recebida, onde cada propriedade representa o nome da coluna do resultado, `null` se não houver mais colunas no resultado, ou `false` em caso de falha.

### Erros/Exceções

Um exceção ValueError é lançada quando o parâmetro `constructor_args` é não vazio com a classe não possuindo construtor.

### Registro de Alterações

Versão | Descrição
--- | ---
8.3.0 | Agora lança uma exceção ValueError quando o parâmetro `constructor_args` é não vazio com a classe não possuindo construtor; anteriormente uma Exception era lançada.
8.0.0 | `constructor_args` agora aceita `[]` para construtores sem parâmetros; anteriormente, uma exceção era lançada.

### Exemplos

Exemplo #1 Exemplo de 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 procedural

    <?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);
    }

Os exemplos acima produzirão algo semelhante a:

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

### Veja Também

- mysqli_fetch_array() - Recebe a próxima linha de resultado como array associativo, numérico, ou ambos
- mysqli_fetch_assoc() - Obtém a próxima linha do conjunto de resultados como um array associativo
- mysqli_fetch_column() - Recebe uma única coluna da próxima linha de um resultado
- mysqli_fetch_row() - Obtém a próxima linha de um resultado como um array enumerado
- mysqli_query() - Executa uma consulta no banco de dados
- mysqli_data_seek() - Ajusta o ponteiro do resultado para uma linha arbitrária no resultado

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open