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

Undefined variable: conexao

Ola, não consigo solucionar o seguinte erro:

"Notice: Undefined variable: conexao in C:\laragon\www\loja\produto-lista.php on line 5

Warning: mysqli_query() expects parameter 1 to be mysqli, null given in C:\laragon\www\loja\produto-lista.php on line 5

Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, null given in C:\laragon\www\loja\produto-lista.php on line 7"

Creio que ao resolver o primeiro os outros serão resolvidos de bandeja, porem não consigo resolve-lo de maneira nenhuma, encontrar o erro no caso, segue meu código:

Produto-lista.php
<?php include("cabecalho.php"); ?>
<?php include("conecta.php"); ?>

<?php
$resultado = mysqli_query($conexao, "select * from produtos");

while($produto = mysqli_fetch_assoc($resultado)) {
    echo $produto['nome'] . "<br/>";
}
?>

<?php include("rodape.php")?>
conecta.php
<? php
    $conexao = mysqli_connect("localhost", "root", "", "loja");
adiciona-produto.php
<?php include("cabecalho.php"); ?>
<? php include ("conecta.php") ?>
<?php 
    function insereProduto($conexao,$nome,$preco){
        $query = "insert into produtos (nome,preco) value ('{$nome}',{$preco})";
        $resultadoDaInsercao = mysqli_query($conexao,$query);
        return resultadoDaInsercao;
    };
    $nome = $_GET["nome"]; 
    $preco = $_GET["preco"];


    ?>
    <?php 
        if(insereProduto($conexao,$nome,$preco)){
    ?>    
            <p class="text-success"> Produto <?= $nome; ?> <?= $preco; ?> adiconado com sucesso! </p>        
        <?php
        }else{    
             $msg = mysqli_error($conexao);
        ?>    
            <p class="text-danger"> Produto <?= $nome; ?> não foi adicionado! </p>
    <?php
    }
    ?>

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

Verifique se o arquivo conecta.php está na mesma pasta do arquivo produo-listar.php, caso não esteja troque para nomeDaPasta/conecta.php

se não der certo retorne para tentarmos uma nova solução

Sim está na mesma pasta.

Troque o include("conecta.php") por require_once 'conecta.php'; verifique se vai apresentar um erro de: falhou ao abrir stream

Continua com o mesmo problema.

solução!

no arquivo conecta.php retire o espaço entre <? e php

<? php << errado

<?php << correto

Ajuste nos outros arquivos também

Resolvi o problema, porem me apareceu outro hahaha Vou marcar esse tópico como solucionado e abrir outro, mas obrigado.