1
resposta

Dúvida em relação ao While utilizado com a função mysqli_fetch_assoc() do PHP

Estamos utilizando uma conexão do banco de dados MySQL via php onde selecionamos todo o conteúdo de uma tabela chamada produtos. $resultado = mysqli_query($conexao,"select * from produtos");

Para imprimir o nome de todos os produtos na página, utilizamos o while abaixo:

while($produto = mysqli_fetch_assoc($resultado)) { echo $produto['nome'] . ""; }

Sei que o while executa o código sempre que o retorno for true na condição passada como parâmetro. Bom, não consigo entender o que está acontecendo neste while. Imaginei que a função mysqli_fetch_assoc() iria retornar para a variável produto algo do tipo: ["bmw":500, "audi":300, "gol":200] Logo, isto geraria um loop infinito.

A única maneira que imagino de isto funcionar seria a função retonar para a variável produtos uma array com chaves e valores de cada linha da tabela sql em sequencia. Assim, ao final da útima linha, retornaria um null , fazendo com que a afimação $produto=null retorne false e pare com a iteração do while.

Enfim, estou certo nesta última suposição?

1 resposta

Olá Daniel,

Você está certo nesta última suposição.

Att,