2
respostas

O que há de errado nesse codigo ?

Em um outro post aqui no fórum cheguei a marcar como resolvido apos ver a resposta "$produto é cada linha retornada da query. Se a query retorna 5 produtos, por exemplo, esse loop vai inserir na array $produtos os 5 produtos.

A variável $produto é um mero auxiliar.

Abraços.

Mas ????? Assim como eu o php não sabe o que é a variavel moto nesse caso o nome seria moto

Notice: Undefined variable: moto in D:\Xampp\htdocs\cursophp\banco-motos.php on line 7

Notice: Undefined variable: moto in D:\Xampp\htdocs\cursophp\banco-motos.php on line 7

Notice: Undefined variable: moto in D:\Xampp\htdocs\cursophp\banco-motos.php on line 7

Notice: Undefined variable: moto in D:\Xampp\htdocs\cursophp\banco-motos.php on line 7

Eu já estudei outras linguagens embora esteja no inicio do php já não sou um iniciante digamos assim nas outras linguagens tipadas como java e delphi uma variavel precisa ser alguém Ex string x ... I : integer ; double k = 50; aqui no php é diferente ? e qual seria o erro no meu código ?

"

Eu "Nesse código existem duas variáveis #produtos que é um array e $produto. Esse exemplo foi tirado do exercício. Minha pergunta é quem é $produto ? não consegui entender"

Resposta "

<?php
function listamotos($conexao) {
  $motos =array();
  $resultado =mysqli_query($conexao, "select * from tb_motos") ;

  while ($motos = mysqli_fetch_assoc($resultado)){
      array_push($motos,$moto);
      }
      return $motos;
}
2 respostas

Veja o que o erro diz:

Notice: Undefined variable: moto in D:\Xampp\htdocs\cursophp\banco-motos.php on line 7

Na linha 7, você digitou:

array_push($motos,$moto)

A variável $moto nunca foi declarada porque no while, você digitou...

while ($motos = mysqli_fetch_assoc($resultado)){

Tente substituir isso por:

while ($moto = mysqli_fetch_assoc($resultado)){

Resumindo, ele não sabe o que é a variável $moto, porque não havia sido declarada. E você não pode usar uma variável não declarada em um array_push().

Não precisa declarar moto como um array

function listamotos($conexao) {
  $motos =array(); // DESNECESSARIO
  $resultado =mysqli_query($conexao, "select * from tb_motos") ;

  while ($motos = mysqli_fetch_assoc($resultado)){
      array_push($motos,$moto);
      }
      return $motos;
}