1
resposta

Parece que remove do banco no site, mais não remove no Banco

Estou fazendo a aula numero 6 PHP e MYSQL I , quando vou remover na pagina que lista os produtos , da o alerta que removeu mais não removeu na lista e nem no banco. estou usando o banco MYSQL WorkBench, salvar , salva normalmente, poderia me ajudar com essa duvida? No meu projeto o menu , não aparece no google chrome , mais aparece no firefox , opera. O que poder ser?

Classe Produto-lista:
<?php include("cabecalho.php");
 include("conecta.php");
 include("banco-produto.php"); ?>
 <?php 
    if(array_key_exists("removido", $_GET) && $_GET["removido"]=="true"){
  ?>
    <p class="alert-sucess">Produto apagado com suscesso</p> 
  <?php   
 }
 ?>



<table class="table table-striped table-bordered">

    <?php
        //codigo que mostra produto na tela
        $produtos = listarProdutos($conexao); 
        foreach($produtos as $produto):
    ?>
        <tr>
            <td><?= $produto['nome'] ?></td>
            <td><?= $produto['preco'] ?></td> 
            <td>
                <a href="remove-produto.php?id=<?=$produto['id']?>" class="text-danger">Remover</a>
            </td>
        </tr>  
    <?php   
        endforeach; 
    ?>
</table>

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

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

    $id = $_GET['id'];
    removeProduto($conexao, $id);
    header("Location: produto-lista.php?removido=true");
    die();
 ?>



 <?php
    include("rodape.php");
?>
----------------------------------------------------------------------------------------------
classe banco

<?php 
//função que busca a informação no banco
function listarProdutos($conexao){
    $produtos = array();

    $resultado = mysqli_query($conexao, "select * from produtos");

    while($produto = mysqli_fetch_assoc($resultado)){
        array_push($produtos, $produto);
    }
    return $produtos;    
} 
//Insere o produto no banco de dados
 function insereProduto($conexao, $nome, $preco){

    $query = "insert into produtos (nome, preco) values ('{$nome}', {$preco})";
    return mysqli_query($conexao, $query);
}

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

Muito obrigado pela atenção.

1 resposta

Tem um erro de digitação no método "removeProduto" da Classe Banco: "form" em vez de "from":

``$query = "delete form produtos where id = {$id}";

O correto seria:

``$query = "delete from produtos where id = {$id}";