Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Erro ADICIONA produto

Ao Adicionar um produto aparece um erro abaixo: Fatal error: Cannot redeclare listaProdutos() (previously declared in C:\xampp\htdocs\Aelian\SemClasses\banco-produto.php:3) in C:\xampp\htdocs\Aelian\SemClasses\banco-produto.php on line 11

Segue o meu banco Produto

<?php

function listaProdutos($conexao) {
$produtos = array();
$resultado = mysqli_query($conexao, "select * from produtos");

while($produto = mysqli_fetch_assoc($resultado)) {
array_push($produtos, $produto);
}
return $produtos;
}

function insereProduto($conexao, Produto $produto) {
$query = "insert into produtos (nome, quantidade,valor,modelo) values ('{$produto->nome}', {$produto->quantidade},{$produto->valor},{$produto->modelo})";
 return mysqli_query($conexao, $query);
}
function buscaProduto($conexao, $id){
    $query = "select * from produtos where id = ($id)";
    $resultado = mysqli_query($conexao, $query);
    return mysqli_fetch_assoc($resultado);
}

function removeProduto($conexao, $id) {
$query = "delete from produtos where id = {$id}";
return mysqli_query($conexao, $query);
}
function alteraProduto($conexao,$id, $nome, $quantidade, $valor, $modelo){
    $query = "update produtos set nome = '{$nome}', quantidade = {$quantidade},
              valor={$valor}, modelo={$modelo} where id = '{$id}'";
    return mysqli_query($conexao, $query);

}

6 respostas

Oi Vitor, tudo bom?

Pelo erro:

 Cannot redeclare listaProdutos() 

Parece que tem um método sendo declarado duas vezes. Ou o arquivo banco-produto.php está sendo incluido no fluxo do seu script mais de uma vez.

Dentro do arquivo não tem duas funções com o nome listaProdutos então muito provavelmente estamos no segundo caso.

Procura no seu código os lugares nos quais você está incluindo o arquivo banco-produto. Verifica se ele n está sendo incluido duas vezes na mesma requisição.

Qualquer problema compartilha com a gente seu código. Assim fica mais facil dar um direcionamento mais concreto =)

Abraço

Então na verdade o meu banco-produto.php esta sendo incluído nas paginas

adiciona-produto.php
altera-produto.php
produto-altera-formulario.php
produto-lista.php 
remove-produto.php

E não esta sendo incluído mais de uma vez em uma pagina

Olá Victor!

Você está usando include() ou include_once()?

Com include_once() não é para ter esse tipo de problema.

Boa tarde, observa como está nas minhas pagina

adiciona-produto.php
<?php
include("cabecalho.php");
include("conecta.php");
include("banco-produto.php"); 
require_once("class/produto.php");
?>

altera-produto.php

<?php
include("cabecalho.php");
include("conecta.php");
include("banco-produto.php"); ?>

produto-altera-formulario.php

?php
include ("conecta.php");
include ("banco-produto.php");

produto-lista.php

include("conecta.php");
include("banco-produto.php");
require_once("class/produto.php");

remove -produto.php:

include("cabecalho.php");
include("conecta.php");
include("banco-produto.php");
solução!

Olá Victor!

Altera todos as vezes que chama o include() por include_once() que é para não acontecer mais o erro.

Espero ter ajudado!

Boa tarde, eu troquei tudo por require_once e deu certo obrigado

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software