4
respostas

Erro ao listar os produtos

Arquivo de listagem

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


$resultado = mysqli_query($conexao, "select * from produtos");
$produto = mysqli_fetch_assoc($resultado);
echo $produto['nome'];


?>


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

Arquivo de conexao

<?php

$conexao = mysqli_connect("localhost:9090", "root", "", "loja"); (PS: MUDEI A PORTA POIS A 80 ESTAVA EM USO")

ERRO


( ! ) Warning: mysqli_connect(): MySQL server has gone away in C:\wamp64\www\loja\conecta.php on line 3
Call Stack
#    Time    Memory    Function    Location
1    0.0003    236776    {main}( )    ...\lista-produto.php:0
2    0.0006    238664    include( 'C:\wamp64\www\loja\conecta.php' )    ...\lista-produto.php:2
3    0.0006    239048    mysqli_connect ( )    ...\conecta.php:3

( ! ) Warning: mysqli_connect(): Error while reading greeting packet. PID=6024 in C:\wamp64\www\loja\conecta.php on line 3
Call Stack
#    Time    Memory    Function    Location
1    0.0003    236776    {main}( )    ...\lista-produto.php:0
2    0.0006    238664    include( 'C:\wamp64\www\loja\conecta.php' )    ...\lista-produto.php:2
3    0.0006    239048    mysqli_connect ( )    ...\conecta.php:3

( ! ) Warning: mysqli_connect(): (HY000/2006): MySQL server has gone away in C:\wamp64\www\loja\conecta.php on line 3
Call Stack
#    Time    Memory    Function    Location
1    0.0003    236776    {main}( )    ...\lista-produto.php:0
2    0.0006    238664    include( 'C:\wamp64\www\loja\conecta.php' )    ...\lista-produto.php:2
3    0.0006    239048    mysqli_connect ( )    ...\conecta.php:3

( ! ) Warning: mysqli_query() expects parameter 1 to be mysqli, boolean given in C:\wamp64\www\loja\lista-produto.php on line 5
Call Stack
#    Time    Memory    Function    Location
1    0.0003    236776    {main}( )    ...\lista-produto.php:0
2    60.0135    238360    mysqli_query ( )    ...\lista-produto.php:5

( ! ) Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, null given in C:\wamp64\www\loja\lista-produto.php on line 6
Call Stack
#    Time    Memory    Function    Location
1    0.0003    236776    {main}( )    ...\lista-produto.php:0
2    60.0165    238416    mysqli_fetch_assoc ( )

Para inserir o produto ele esta inserindo normalmente no banco mas quando tento listar da esses erros a cima, oque estou fazendo de errado ?

4 respostas

up, alguém pf não consigo resolver o erro.

<?php
$db = new mysqli('localhost', 'root', '123', 'testes');
if(mysqli_connect_errno()){
echo mysqli_connect_error();
}
$result = $db->query('SELECT * FROM `produtos`');
if($result){
   while ($row = $result->fetch_assoc()){
       echo '<br /><pre>';
       print_r($row);
       echo '</pre>';
   }
   $result->free();
}
$db->close();
?>

Tenta usar isso para ver se vai dar certo

@bruno da cunha felipe:

esse código é pra subistituri onde ? no arquivo de conexão ?

nessa primeira parte

<?php
$db = new mysqli('localhost', 'root', '123', 'testes');
if(mysqli_connect_errno()){
echo mysqli_connect_error();

o certo não seria $db = new mysqli_connect ?

Olá Higor, tudo bem?

A mensagem Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, null given in C:\wamp64\www\loja\lista-produto.php on line 6 informa que o método mysqli_fetch_assoc() está recebendo null. Segue sugestão:

<?php

    include("cabecalho.php");
    include("conecta.php"); 

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

    if ($resultado) {
        $produto = mysqli_fetch_assoc($resultado);
        echo $produto['nome'];
    }

    include("rodape.php");

?>

Desta forma evitamos que o método mysqli_fetch_assoc() seja chamado quando sua variável $resultado conter null. Recomendo verificar se a tabela produtos existe em seu banco de dados.