[RESOLVIDO] Call to a member function fetch_array() on string

Olá tudo bem ?

Estou recebendo a mensagem de erro:
Fatal error: Call to a member function fetch_array() on string in C:\Program Files…pratos.php on line 79

não estou conseguindo resolver, poriam me ajudar por favor segue linha do código:

$sql = "select * from tb_itens where categoria='pratos' order by nome;";
		while($linha = $sql->fetch_array()){
			$id     = $linha["id"];
			$nome   = $linha["nome"];
			$imgid  = $linha["img"];
			echo "<li><img src='pratos/".$imgid.".jpg'/><form id='form-id' method='post' action='gerencia/adddb.php' target='_self'><input type='hidden' name='cod' value='$id'> <h3> $nome</a></h3></span>Porções:	<select name='quant'  data-native-menu='false' data-theme='c' >
		   <option value='0'>0</option>
		   <option value='1'>1</option>
		   <option value='2'>2</option>
		   <option value='3'>3</option>
		   <option value='4'>4</option>
		   <option value='5'>5</option>
		   <option value='6'>6</option>
		</select><input type='submit' value='Add'></form></li>";
		}
<?php while ($linha = $sql->fetch_array()) { ?>
//Alguma coisa
<?php } ?>

Olá @rodriguesabner tudo bom ?
infelizmente o erro ainda persiste :confused:

$sql = "SELECT * FROM tb_itens WHERE categoria= 'pratos' ORDER BY nome";

@rodriguesabner fiz como sugeriu:

$sql = "SELECT * FROM tb_itens WHERE categoria= 'pratos' ORDER BY nome";
		while($linha = $sql->fetch_array()){
			$id     = $linha["id"];
			$nome   = $linha["nome"];
			$imgid  = $linha["img"];
			echo "<li><img src='pratos/".$imgid.".jpg'/><form id='form-id' method='post' action='gerencia/adddb.php' target='_self'><input type='hidden' name='cod' value='$id'> <h3> $nome</a></h3></span>Porções:	<select name='quant'  data-native-menu='false' data-theme='c' >
		   <option value='0'>0</option>
		   <option value='1'>1</option>
		   <option value='2'>2</option>
		   <option value='3'>3</option>
		   <option value='4'>4</option>
		   <option value='5'>5</option>
		   <option value='6'>6</option>
		</select><input type='submit' value='Add'></form></li>";
		} 

porém o problema ainda persiste: Call to a member function fetch_array() on string
:confused: estou meio perdido já…

Fiz algumas alterações aqui e funcionou:

require('conexao.php');
$resultado = $conexao-> query($query2);
$sql = "select * from veiculos";
while ($query = $resultado->fetch_assoc()){
	$id     = $query["id"];
    $nome   = $query["nome"];
  	$imgid  = $query["img"];
	echo "<li><img src='pratos/".$imgid.".jpg'/><form id='form-id' method='post' action='gerencia/adddb.php' target='_self'><input type='hidden' name='cod' value='$id'> <h3> $nome</a></h3></span>Porções:	<select name='quant'  data-native-menu='false' data-theme='c' >
	<option value='0'>0</option>
	<option value='1'>1</option>
	<option value='2'>2</option>
	<option value='3'>3</option>
	<option value='4'>4</option>
	<option value='5'>5</option>
	<option value='6'>6</option>
	</select><input type='submit' value='Add'></form></li>";
} 

conexao.php :

<?php
define('HOST', '127.0.0.1');
define('USUARIO', 'root');
define('SENHA', '');
define('DB', 'nomeDoBanco');
 
$conexao = mysqli_connect(HOST, USUARIO, SENHA, DB) or die ('Não foi possível conectar');
?>

@rodriguesabner

Muito obrigado por sua paciência cara, fiz as alterações que informou porém ele está me retornando essas mensagens

Notice: Undefined variable: query2 in C:…\pratos.php on line 77

Warning: mysqli::query(): Empty query in C:…\pratos.php on line 77

Fatal error: Call to a member function fetch_assoc() on boolean in C:…\pratos.php on line 79

1 curtida

Opa, desculpa, eu acabei colocando errado:

$resultado = $conexao-> query($query);

Quando você ler essa mensagem, quer dizer que não encontrou a variável informada. Nesse caso a variável que não foi encontrada foi a query2

eu imaginei que poderia ter sido isso brow e testei sem o 2:

Notice: Undefined variable: query in C:…\pratos.php on line 77

Warning: mysqli::query(): Empty query in C:…\pratos.php on line 77

Fatal error: Call to a member function fetch_assoc() on boolean in C:…\pratos.php on line 79

MALUCO, eu mandei o código todo bugado kkkkkkkk:

$query = "select * from algumaCoisa";
$resultado = $conexao-> query($query);
while ($query = $resultado->fetch_assoc()){
	$id     = $query["id"];
    $nome   = $query["nome"];
  	$imgid  = $query["img"];
	echo "<li><img src='pratos/".$imgid.".jpg'/><form id='form-id' method='post' action='gerencia/adddb.php' target='_self'><input type='hidden' name='cod' value='$id'> <h3> $nome</a></h3></span>Porções:	<select name='quant'  data-native-menu='false' data-theme='c' >
	<option value='0'>0</option>
	<option value='1'>1</option>
	<option value='2'>2</option>
	<option value='3'>3</option>
	<option value='4'>4</option>
	<option value='5'>5</option>
	<option value='6'>6</option>
	</select><input type='submit' value='Add'></form></li>";
} 
?>

nossa cara você é incrível, agora está aparecendo todas as opções da minha comanda aqui muito obrigado, seria bom ter um contato direto com você kkk iria facilitar minha vida !!!

1 curtida

Vai mandando aqui no fórum, aí a gente vai te ajudando!

vlw man !!!
desculpa incomodar pra caramba ai

Relaxa cara, o fórum é pra tirar dúvidas mesmo.