English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial básico do PHP

Tutorial avançado do PHP

PHP & MySQL

Manual de referência do PHP

Uso e exemplo da função mysqli_fetch_array() do PHP

PHP MySQLi Referência Manual

A função mysqli_fetch_array() obtém uma linha do conjunto de resultados como um array associativo, um array numérico ou ambos.

Definição e uso

O objeto de resultado do PHP (classe mysqli_result) representa o resultado do MySQL, retornado por consultas SELECT, DESCRIBE ou EXPLAIN.
A função mysqli_fetch_array() tem a seguinte função: aceita um objeto de resultado como parâmetro, recupera o conteúdo da linha atual do objeto de resultado especificado e o retorna como um array associativo ou numérico.

Sintaxe

mysqli_fetch_array($result, [$type]);

Parâmetro

NúmeroParâmetros e descrição
1

result (obrigatório)

Este é o identificador do objeto de resultado.

2

type (obrigatório)

Este é um valor inteiro que especifica o tipo do array de retorno. O valor do tipo é um dos seguintes:-

  • MYSQLI_ASSOC

  • MYSQLI_NUM

  • MYSQLI_BOTH

Retorno

A função mysqli_fetch_array() do PHP retorna um array (associativo ou numérico), que armazena a linha atual do objeto de resultado. Se não houver mais linhas, esta função retornará NULL.

Versão do PHP

Esta função foi introduzida na versão do PHP5introduzido e pode ser usado em todas as versões mais recentes.

Exemplo Online

A seguir, um exemplo demonstramysqli_fetch_array()Uso da função (estilo procedimental), obter uma linha do conjunto de resultados como um array numérico ou associativo e imprimir os valores dos campos:

<?php
   $con = mysqli_connect("localhost", "root", "password", "mydb");
   mysqli_query($con, "CREATE TABLE myplayers(ID INT, First_Name VARCHAR(255), Last_Name VARCHAR(255), Place_Of_Birth VARCHAR(255), Country VARCHAR(255))");
   print("Criar tabela.....\n");
   mysqli_query($con, "INSERT INTO myplayers values(1, 'Sikhar', 'Dhawan', 'Delhi', 'Índia')");
   mysqli_query($con, "INSERT INTO myplayers values(2, 'Jonathan', 'Trott', 'Cidade do Cabo', 'África do Sul')");
   mysqli_query($con, "INSERT INTO myplayers values(3, 'Kumara', 'Sangakkara', 'Matale', 'Sri Lanka')");
   print("Inserir registro.....\n");
   //Pesquisar conteúdo da tabela
   $res = mysqli_query($con, "SELECT * FROM myplayers");
   //Obter todas as linhas como array
   while($row = mysqli_fetch_array($res, MYSQLI_ASSOC)){
      print("ID: " . $row["ID"] . "\n");
      print("Primeiro_Nome: " . $row["Primeiro_Nome"] . "\n");
      print("Sobrenome: " . $row["Last_Name"] . "\n");
      print("Local_de_Nascimento: " . $row["Place_Of_Birth"] . "\n");
      print("País: " . $row["Country"] . "\n");
   }
   //Finalizar instrução
   mysqli_free_result($res);
   //Fechar conexão
   mysqli_close($con);
?>

Exibir resultados

Criar tabela.....
Inserir registro.....
ID: 1
Nome: Sikhar
Sobrenome: Dhawan
Lugar_de_Nascimento: Delhi
País: Índia
ID: 2
Nome: Jonathan
Sobrenome: Trott
Lugar_de_Nascimento: Cidade do Cabo
País: África do Sul
ID: 3
Nome: Kumara
Sobrenome: Sangakkara
Lugar_de_Nascimento: Matale
País: Sri Lanka

Exemplo Online

No estilo orientado a objetos, a sintaxe dessa função é$result->fetch_array();.Aqui está um exemplo de estilo orientado a objetos para essa função;

<?php
   //Estabelecer conexão
   $con = new mysqli("localhost", "root", "password", "mydb");
   $con -> query("CREATE TABLE Test(Name VARCHAR(255), Age INT)");
   $con -> query("insert into Test values('Raju', 25),('Rahman', 30),('Sarmista', 27);
   print("Criar tabela.....\n");
   $stmt = $con -> prepare("SELECT * FROM Test WHERE Name in(?, ?)");
   $stmt -> bind_param("ss", $name1, $name2);
   $name1 = 'Raju';
   $name2 = 'Rahman';
   //Executar comando
   $stmt->execute();
   //Resultados da busca
   $result = $stmt->get_result();
   //Obter todas as linhas como array
   while($row = $result->fetch_array(MYSQLI_ASSOC)){	
      print("Nome: " . $row["Name"] . "\n");
      print("Idade: " . $row["Age"] . "\n");
   }
   //Finalizar instrução
   $stmt->close();
   //Fechar conexão
   $con->close();
?>

Exibir resultados

Criar tabela.....
Nome: Raju
Idade: 25
Nome: Rahman
Idade: 30

Exemplo Online

Você ainda pode buscar o conteúdo das linhas de resultados como um array de números:

<?php
   $con = mysqli_connect("localhost", "root", "password", "mydb");
   mysqli_query($con, "CREATE TABLE myplayers(ID INT, First_Name VARCHAR(255), Last_Name VARCHAR(255), Place_Of_Birth VARCHAR(255), Country VARCHAR(255))");
   print("Criar tabela.....\n");
   mysqli_query($con, "INSERT INTO myplayers values(1, 'Sikhar', 'Dhawan', 'Delhi', 'Índia')");
   mysqli_query($con, "INSERT INTO myplayers values(2, 'Jonathan', 'Trott', 'Cidade do Cabo', 'África do Sul')");
   mysqli_query($con, "INSERT INTO myplayers values(3, 'Kumara', 'Sangakkara', 'Matale', 'Sri Lanka')");
   print("Inserir registro.....\n");
   //Pesquisar conteúdo da tabela
   $res = mysqli_query($con, "SELECT * FROM myplayers");
   //Obter todas as linhas como array
   while($row = mysqli_fetch_array($res, MYSQLI_NUM)){
      print("ID: ".$row[0]."\n");
      print("Nome: ".$row[1]."\n");
      print("Sobrenome: ".$row[2]."\n");
      print("Lugar_de_Nascimento: ".$row[3]."\n");
      print("País: ".$row[4]."\n");
   }
   //Finalizar instrução
   mysqli_free_result($res);
   //Fechar conexão
   mysqli_close($con);
?>

Exibir resultados

Criar tabela.....
Inserir registro.....
ID: 1
Nome: Sikhar
Sobrenome: Dhawan
Lugar_de_Nascimento: Delhi
País: Índia
ID: 2
Nome: Jonathan
Sobrenome: Trott
Lugar_de_Nascimento: Cidade do Cabo
País: África do Sul
ID: 3
Nome: Kumara
Sobrenome: Sangakkara
Lugar_de_Nascimento: Matale
País: Sri Lanka

PHP MySQLi Referência Manual