Olá pessoal, criei minha classe Produto e minha classe ProdutoDao e coloquei os atributos da minha classe Produto como private. Mas, na hora que vou adicionar algum produto no banco de dados dá este erro: Produto ,não foi adicionado: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ',)' at line 1
Meu arquivo adiciona-produto.php está assim: <?php require_once("cabecalho.php");?> <?php require_once("logica-usuario.php");?> <?php require_once("class/Produto.php");?> <?php require_once("class/Categoria.php");?> <?php require_once("class/ProdutoDao.php");?> <?php require_once("conecta.php");?>
<?php verificaUsuario(); ?>
Minha loja
<?php $produto = new Produto;
$categoria = new Categoria;
//$produto->setId($_POST['categoria_id']); $produto->setNome($_POST["nome"]); $produto->setPreco($_POST["preco"]); $produto->setCategoria($categoria); if(array_key_exists('usado',$_POST)){ $usado = "true"; }else{ $usado = "false"; } $produto->setUsado($usado);
$produtodao = new ProdutoDao($conexao); if($produtodao->insereProduto($produto)){?>
Produto <?php echo $produto->getNome; ?>, <?php echo $produto->getPreco; ?> adicionado com sucesso!
<?php } else { $msg = mysqli_error($conexao); ?>Produto <?php echo $produto->getNome; ?>,não foi adicionado: <?php echo $msg; ?>
<?php }mysqli_close($conexao); ?>
<?php include("rodape.php");?>
e o minha função que insere produto no banco de dados no arquivo ProdutoDao.php está assim: function insereProduto(Produto $produto) { $query = "insert into produtos (nome, PRECO, categoria_id, usado) values ('{$produto->getNome()}',{$produto->getPreco()},{$produto->getId()},{$produto->getUsado()})"; return mysqli_query($this->conexao, $query); }
Por favor, me ajudem.
Obrigada!