Ir ao conteúdo

PHP Erro mysqli_fetch_assoc() expects parameter 1


Ir à solução Resolvido por Leonardo0308,

Posts recomendados

Postado

e ai manos eu estou fazendo um sistema de busca pra minha pagina e eu estou com o seguinte erro:

Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, bool given

Eu não consigo consertá-lo

meu codigo:

HTML:

<div class="login">
	<form method="POST" name="pesquisa" action="">
    <a style="font-family:Oswald;">Pesquisar:<input type="text" name="id" size="50"class="caixalogin"></a>
	<input type="submit" name="SendPesqProd" class="caixalogin">
</form>

PHP:

<?php
	  $SendPesqProd = filter_input(INPUT_POST, 'SendPesqProd', FILTER_SANITIZE_STRING);
	  
	  if($SendPesqProd){
		$servername = "localhost";
		$username = "root";
		$password = "root";
		$dbname = "produtos";
		$id = filter_input(INPUT_POST, 'id', FILTER_SANITIZE_STRING);

		$conn = mysqli_connect($servername, $username, $password, $dbname);

		if (!$conn) {
			die("Conexão Falhou: " . mysqli_connect_error());
		}
		$result_pesq = "SELECT * FROM produtos WHERE produto LIKE '%$id%";
		$resultado_pesquisa = mysqli_query($conn, $result_pesq);
		while($row_pesquisa = mysqli_fetch_assoc($resultado_pesquisa)){
			$valor = $row_pesquisa["valor"];
			$produto = $row_pesquisa["produto"];
			$linkimg = $row_pesquisa["imgproduto"];
		}
		

	  }
	  ?>

Bem o php é o seguinte ele analisa se o usuário clicou no botão de enviar o formulário e e se clicou ele conecta ao BD e faz a busca, mais ele retorna o erro acima e no banco de dados tem o item pesquisado:

Ex:

a pesquisa é TV, no banco de dados tem 3 tvs mais ele fala que não tem nenhuma

image.png.18a68a64208c3528e15a13377d6a5fdf.png

ou é outro erro me ajudem pf!!

Postado

@Leonardo0308

isso:

produto LIKE '%$id%";

é porque o LIKE com a %% vai procurar em qual local do texto(%% significa em que pode estar em qualquer lugar do texto), vamos dizer que o usuário digitou madeira e no Banco de Dados esta, roupeiro x cor x material madeira tudo isso na coluna produto se eu colocar só isso ai que você falou ele não vai achar 

Postado

Desculpe @Matheus Evandro Rech vi seu código de maneira errada, achei que o $id iria se referir ao id do banco...

 

Bem eu tinha perguntado sobre a sua consulta pois esse erro acontece normalmente quando a consulta não foi executada corretamente, antes de entrar no While.

 

adicionado 31 minutos depois
  Em 24/01/2019 às 15:15, Matheus Evandro Rech disse:

'%$id%";

Expandir  

 

...acho que está falando uma aspas ali, tipo

'%$id%  '  ";

 

  • Curtir 1
Postado

achei o erro mais ele so pesquisa na coluna id e não acha nada

$result_pesq = "SELECT * FROM produtos WHERE id LIKE '%$id%'";

se eu coloco assim ele acha o resultado mais só se eu digitar o id do item

e eu quero que ele ache o produto digitando o nome do produto

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Mostrar mais  

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

Mostrar mais  
×
×
  • Criar novo...