mysqli_result::fetch_assoc

mysqli_fetch_assoc

(PHP 5, PHP 7, PHP 8)

mysqli_result::fetch_assoc -- mysqli_fetch_assocObtém a próxima linha do conjunto de resultados como um array associativo

Descrição

Estilo orientado a objetos

public mysqli_result::fetch_assoc(): array|null|false

Estilo procedural

mysqli_fetch_assoc(mysqli_result $result): array|null|false

Obtém uma linha de dados do conjunto de resultados e retorna-o como um array associativo. Cada chamada subsequente desta função retornará a linha seguinte 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 qualquer dado anterior. Para acessar múltiplas colunas com o mesmo nome, mysqli_fetch_row() pode ser usada para obter o array indexado numericamente, ou apelidos podem ser usados na lista de seleção da consulta SQL para dar nomes diferentes às colunas.

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

Note: 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().

Valor Retornado

Retorna um array associativo que representa a linha obtida, onde cada chave no array representa o nome de uma das colunas do conjunto de resultados; null se não houver mais linhas no conjunto de resultados, ou false em caso de falha.

Exemplos

Example #1 Exemplo de mysqli_result::fetch_assoc()

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

/* obtém o array associativo */
while ($row = $result->fetch_assoc()) {
    printf("%s (%s)\n", $row["Name"], $row["CountryCode"]);
}

Estilo procedural

<?php

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

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

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

/* obtém o array associativo */
while ($row = mysqli_fetch_assoc($result)) {
    printf("%s (%s)\n", $row["Name"], $row["CountryCode"]);
}

Os exemplos acima produzirão algo semelhante a:

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

Example #2 Comparação de mysqli_result iterator e uso de mysqli_result::fetch_assoc()

mysqli_result pode ser iterada usando-se foreach. O conjunto de resultados será iterado sempre a partir da primeira linha, independente da posição atual do ponteiro.

<?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';

// Usando iterardores
$result = $mysqli->query($query);
foreach ($result as $row) {
    printf("%s (%s)\n", $row["Name"], $row["CountryCode"]);
}

echo "\n==================\n";

// Não usando iteradores
$result = $mysqli->query($query);
while ($row = $result->fetch_assoc()) {
    printf("%s (%s)\n", $row["Name"], $row["CountryCode"]);
}

O exemplo acima produzirá algo semelhante a:

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

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

Veja Também