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

Era Pra Dar Erro Na Mensagem De Inserção, Porém Está Dando Normal.

(ESTE É O CÓDIGO DA AULA !)

<?php include ("cabecalho.php"); ?>
<?php
$nome = $_GET['nome'];
$preco = $_GET['preco'];
$conexao = mysqli_connect("localhost", "root", "", "loja");
function insereProduto($conexao, $nome, $preco) {
    $query = "insert into produtos (nome, preco) values ('{$nome}', '{$preco}')";
    $resultadoDaInsercao = mysqli_query($conexao, $query);
    return $resultadoDaInsercao;
}
if(insereProduto($conexao, $nome, $preco)) {
?>
<p class="alert-success">Produto <?= $nome; ?>, <?= $preco; ?> adicionado com sucesso!</p>
<?php
} else {
?>
<p class="alert-danger">O produto <? = $nome; ?> não foi adicionado</p>
<?php
}
?>
<?php include ("rodape.php"); ?>

(MEU CÓDIGO !!)

<?php include("cabecalho.php"); ?>
    <?php
        $nome = $_GET['nome'];
        $preco = $_GET['preco'];
        $conexao = mysqli_connect("localhost","root","","loja");

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

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

Quando Eu Coloco Pra Inserir Algo Vazio, Ele Da Que Foi Inserido Com Sucesso Ao Invés De Dar Erro Na Inserção, Porém No MySql O Produto Vazio Acaba Não Sendo Inserido. Alguém Poderia Ajudar A Achar Aonde Estou Errando ? Ele Está Certo Em Não Inserir Ao Banco De Dados, Porém Para O Usuário Ele Da A Mensagem Que Foi Inserido.

3 respostas

Oi Gabriel, tudo bom?

Verifica qual está sendo o retorno da sua função "InsereProduto". O código está verificando o retorno dessa função para decidir qual menssagem será exibida.

Se estiver retornando true é porque foi inserido. No seu banco de dados não entra o produto? Não exibe nenhum erro?

Aguardo retorno.

Abraço!

Boa Tarde, Tudo Joia Graças A Deus. Agora, eu copiei o código do instrutor, e ele está adicionando o produto vazio no BD. Porém Estava Observando Os Códigos Estão Idênticos. aonde poderia estar o erro ??

solução!

Achei O Erro, Baixei O Conteúdo Da Próxima Aula, E O Código Está Diferente Do Mostrado Na Aula Nesta Parte Este Foi O Código Que Funcionou, Reparem Que A Variável Preço No Insert Esta Sem As ' E O Valor De Retorno É A Query Já, E Não Uma Variável Que Receberá A Query.

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

E Na Aula Ele Está Criando Uma Variável Para Retornar Este Valor Assim:

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

E Na Parte Do If Fica Do Mesmo Modo.

Obrigado A Atenção De Vocês :D. Mais Com Um Pouco De Fuçada Aqui, Consegui Achar :D.