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

Erro ao inserir produtos na tabela do mysql

Quando utilizo o formulário para inserir os produtos na minha tabela "produtos" sou redirecionado para a página me informando o sucesso ao adicionar o produto e o preço porém em cima da Alerta aparece o seguinte erro:

Warning: mysqli_query(): Couldn't fetch mysqli in C:\xampp\htdocs\loja\adiciona-produto.php on line 16

Meu código:

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

<?php
    $nome = $_GET["nome"];
    $preco = $_GET["preco"];


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

    $conexao = mysqli_connect('localhost', 'root', '', 'loja');
    mysqli_query($conexao, $query);
    mysqli_close($conexao);

    ?>
    <?php
        if(mysqli_query($conexao, $query)) {
    ?>
    <p class="alert-success">O Produto <?php echo $nome ?> foi adicionado com sucesso!</p>
        <?php
    } else {
    ?>
        <p class="alert-danger">O Produto <?php echo $nome ?> não foi adicionado, tente novamente!</p>
    <?php
        }
    ?>
<?php include("rodape.php"); ?>

Linha do erro(10):

$conexao = mysqli_connect('localhost', 'root', '', 'loja');

Porém o produto é adicionado na tabela normalmente

4 respostas

Ola Luhan

não sei não mas esse

mysqli_close($conexao);

antes do

if(mysqli_query($conexao, $query))

esta meio estranho, não acha?? Você fecha uma conexão e executa a query novamente.

Então onde eu fecharia a conexão?

solução!

Acho que você pode guardar o resultado da

mysqli_query($conexao, $query)

em uma variável, fechar a conexão e usar essa variável no if

Olá, não sei se já resolveu, mas eu tive o mesmo problema que você...

No meu caso eu resolvi, o que estava acontecendo é que eu tava chamando duas vezes o

mysqli_query($conexao, $query);

uma logo depois do

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

e outra no IF, tira o

mysqli_query($conexao, $query);

que ta sem o IF e fecha a conexão depois da mensagem de "Danger". Pra mim funcionou, desculpa se eu falei alguma bobagem eu to começando em php tbm.

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