(PHP 5, PHP 7, PHP 8)
mysqli_result::fetch_array -- mysqli_fetch_array — Recebe a próxima linha de resultado como array associativo, numérico, ou ambos
Estilo orientado a objetos
Estilo procedural
Recebe uma linha de dados do conjunto de resultados e retorna-a como um array.
Cada chamada subsequente a esta função retornará a linha seguinte dentro do
conjunto de resultados, ou null
se não houver mais linhas.
Além de armazenar os dados nos índices numéricos do array resultante, esta função também pode armazenar os dados em índices associativos usando os nomes dos campos do conjunto de resultados como chaves.
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, deve ser usada a versão da linha indexada numericamente.
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.
result
Somente no estilo procedural: Um objeto mysqli_result retornado por mysqli_query(), mysqli_store_result(), mysqli_use_result() ou mysqli_stmt_get_result().
mode
O segundo arqumento é uma constante que indica qual tipo de array
deve ser produzido a partir dos dados da linha atual. Os valores possíveis para
este parâmetro são as constantes MYSQLI_ASSOC
,
MYSQLI_NUM
ou MYSQLI_BOTH
.
Ao usar a constante MYSQLI_ASSOC
, esta função
irá se comportar de modo idêntico à função mysqli_fetch_assoc(),
enquanyo MYSQLI_NUM
irá se comportar de modo idêntico à
função mysqli_fetch_row(). A opção final
MYSQLI_BOTH
irá criar um único array com os
atributos de ambas.
Retorna um array que representa a linha recebida, null
se não
houver mais linhas no resultado, ou false
em caso de falha.
Exemplo #1 Exemplo de mysqli_result::fetch_array()
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 LIMIT 3";
$result = $mysqli->query($query);
/* array com índice numérico */
$row = $result->fetch_array(MYSQLI_NUM);
printf("%s (%s)\n", $row[0], $row[1]);
/* array associativo */
$row = $result->fetch_array(MYSQLI_ASSOC);
printf("%s (%s)\n", $row["Name"], $row["CountryCode"]);
/* array com índice numérico e associativo */
$row = $result->fetch_array(MYSQLI_BOTH);
printf("%s (%s)\n", $row[0], $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 LIMIT 3";
$result = mysqli_query($mysqli, $query);
/* array com índice numérico */
$row = mysqli_fetch_array($result, MYSQLI_NUM);
printf("%s (%s)\n", $row[0], $row[1]);
/* array associativo */
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
printf("%s (%s)\n", $row["Name"], $row["CountryCode"]);
/* array com índice numérico e associativo */
$row = mysqli_fetch_array($result, MYSQLI_BOTH);
printf("%s (%s)\n", $row[0], $row["CountryCode"]);
Os exemplos acima produzirão algo semelhante a:
Kabul (AFG) Qandahar (AFG) Herat (AFG)