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

Erro Linha 27

Pessoal, boa noite!

Ao tentar executar o teste do link remover, ele apresenta um erro na linha 27 do arquivo produto-lista.php. Por gentileza, há algum erro no código? Segue:

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

<?php $produtos = listaProdutos($conexao);

if(array_key_exists("removido", $_GET) && $_GET['removido'] == true) { ?>

Produto removido com sucesso!!!

<?php } ?>

<?php foreach($produtos as $produto) : ?>

<?php echo $produto['nome'] . "" ?><?php echo "R$" . $produto['preco'] . "" ?> Remover <?php endforeach; ?>

<?php include("rodape.php");?>

6 respostas
solução!

Por favor, antes de colocar o código, clique em inserir código e coloque o código no espaço que aparece. Fica melhor para ler.

É importante também indicar qual a linha que tá dando erro (indicando-a) e também informar a mensagem de erro.

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

<?php 
$produtos = listaProdutos($conexao);
if(    array_key_exists("removido", $_GET) && $_GET['removido'] == true) { 
?>
    Produto removido com sucesso!!!
<?php 
} 

?>
<?php 
    foreach($produtos as $produto) : 
?>
<?php 
    echo $produto['nome'] . "" ; // faltava um ponto-e-vírgula aqui
?>
<?php 
    echo "R$" . $produto['preco'] . "" ; //faltava um ponto-e-vírgula aqui
?> 
    Remover
<?php 
    endforeach; 
?>
<?php 
    include("rodape.php");
?>

Se o código estiver assim, fica melhor para ver o erro:

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

$produtos = listaProdutos($conexao);

if(    array_key_exists("removido", $_GET) && $_GET['removido'] == true ) { 
    echo "Produto removido com sucesso!!!";
} 

foreach($produtos as $produto) : 
    echo $produto['nome'] . "" ;
    echo "R$" . $produto['preco'] . "" ;
    echo "Remover";
endforeach; 

include("rodape.php");
?>

Obrigado Gabriel pela ajuda! Já consegui resolver!!!

Qual era o problema.?

function removeProduto($conexao, $id){ $query = "delete from produtos where idProduto='{$id}'"; return mysqli_query($conexao,$query); }

O erro era nesta função removeProduto. Depois que coloquei aspas simples neste trecho do código, funcionou: idProduto='{$id}';

Mas, o campo IdProduto está com texto no banco de dados ?

Pergunto isto, porque as aspas simples devem ser usadas para campos alfanuméricos (strings, varchar).

Aparentemente, criei ser querer como varchar. Só sei que funcionou quando coloquei as aspas simples.