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

Porque não utilizar '' no {$preço}?

Estou com uma dúvida do porque na $query não colocamos aspas simples no $preco, colocando as aspas, ele me deixa adicionar um produto sem preco e nome, isso foi apenas para dar erro, ou tem um porque? não lembro do motivo e fiquei perdido.

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

<?php

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

$nome = $_GET["nome"];
$preco = $_GET["preco"];
$conexao = mysqli_connect('localhost', 'root', '', 'loja');


if(insereProduto($conexao, $nome, $preco)) { ?>
        <p class="text-sucess">O Produto <?= $nome; ?>, <?= $preco; ?> foi adicionado. </p>

<?php } else {

        $msg = mysqli_error($conexao);
     ?>
     <p class="text-danger">O Produto <?= $nome; ?> não foi adicionado: <?= $msg; ?></p>

     <?php
 }
?>


<?php include("rodape.php"); ?>
2 respostas
solução!

É um erro proposital creio eu. Não colocando aspas na chamada da variável geraria um erro SQL na hora da query, acho que isto foi feito pra dar atenção a exibição mensagem de erro.

Bom dia,

Na verdade, é porque o preço é tipo numérico, não precisando das aspas simples, que são usadas apenas para strings. Essa query em teoria não vai forçar erro nenhum, é para funcionar normalmente.

Abraço.