mysqli_result::fetch_assoc
mysqli_fetch_assoc
(PHP 5, PHP 7, PHP 8)
mysqli_result::fetch_assoc -- mysqli_fetch_assoc — Obtém a próxima linha do conjunto de resultados como um array associativo
Descrição
Estilo orientado a objetos
Estilo procedural
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
- mysqli_fetch_array() - Recebe a próxima linha de resultado como array associativo, numérico, ou ambos
- 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_fetch_object() - Recebe a próxima linha de um resultado como um objeto
- mysqli_query() - Executa uma consulta no banco de dados
- mysqli_data_seek() - Ajusta o ponteiro do resultado para uma linha arbritária no resultado