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

Ao tentar adicionar um produto eu tenho um erro

Erro:

( ! ) Notice: Undefined variable: mysqli_connect in C:\wamp64\www\loja\adiciona-produto.php on line 15
Call Stack
#    Time    Memory    Function    Location
1    0.0026    405200    {main}( )    ...\adiciona-produto.php:0

( ! ) Fatal error: Uncaught Error: Function name must be a string in C:\wamp64\www\loja\adiciona-produto.php on line 15
( ! ) Error: Function name must be a string in C:\wamp64\www\loja\adiciona-produto.php on line 15
Call Stack
#    Time    Memory    Function    Location
1    0.0026    405200    {main}( )    ...\adiciona-produto.php:0

Arquivo adiciona-produto.php

<?php
/**
 * Created by PhpStorm.
 * User: maiso
 * Date: 18/11/2018
 * Time: 20:14
 */
?>

<?php include ("cabecalho.php");?>
<?php
$nome_produto = $_GET["nome_produto"];
$preco_produto = $_GET["preco_produto"];

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

$query = "insert into produtos (nome,preco) values ('{$nome_produto}',{$preco_produto})";
if(mysqli_query($conexao,$query)){?>
    <p class="alert-success">Produto <?=$nome_produto?> no valor de <?=$preco_produto?> reais adicionado com sucesso</p>
<?php } else { ?>
    <p class="alert-danger">Produto não foi adicionado.</p>
<?php } ?>

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

produto-formulario

<?php
/**
 * Created by PhpStorm.
 * User: maiso
 * Date: 18/11/2018
 * Time: 20:23
 */
include ("cabecalho.php"); ?>

<h1> Formulário de cadastro </h1>

<form action="adiciona-produto.php">
    Produto: <input name="nome_produto">
    Preço: <input type="number" name="preco_produto">
    <input class="btn" type="submit" value="Cadastrar"/>

</form>

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

Desde já agradeço

3 respostas
solução!

Olá Maison,

Tente mudar essa linha:

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

Para:

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

O erro acontece pois a função mysqli_connect está declarada com um $, então o PHP está entendendo a mesma como uma variável.

Para resolver basta remover o $:

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

Fala galera muito obrigado eu bati o olho no vídeo e percebi que é adicionado o cifrão e depois é retirado subitamente, obrigado pela ajuda.Funcionou aqui.

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