Ir ao conteúdo
  • Cadastre-se
Felipe Paz

Fatal error: Uncaught Error: ... function fetch_array()

Recommended Posts

E aí gurizada, beleza? É o seguinte: já procurei em tudo o que foi fórum, site e tudo mais, tentei todas as possibilidades possíveis e quando faço o select de uma busca aparece o seguinte erro:

Citação

Fatal error: Uncaught Error: Call to a member function fetch_array() on boolean in /opt/lampp/htdocs/bluesky/admin/pages/produtos.php:82 Stack trace: #0 /opt/lampp/htdocs/bluesky/admin/index.php(91): include() #1 {main} thrown in /opt/lampp/htdocs/bluesky/admin/pages/produtos.php on line 82

O código é o seguinte:

	$mysqli = new mysqli("localhost", "root","","bluesky");
	$sql = "SELECT * FROM produtos WHERE codigo = '{$codigo}'";
	$query = $mysqli->query($sql);
	while ($res = $query->fetch_array(MYSQLI_ASSOC)){
		$cod = $res['codigo'];
		if($cod == $codigo){
			echo "<script>modalJaCad();</script>";
		} else {
			$sql = "INSERT INTO produtos (id, produto, tamanho, fornecedor, preco_de_compra, preco_de_venda, descricao, lucro, sexo, curva_abc, estoque, numero_de_vendas, pecas_vendidas) VALUES('$codigo', '$produto', '$tamanho', '$fornecedor', '$preco_de_compra', '$preco_de_venda', '$descricao', '$lucro', '$sexo', '0', '0', '0', '0')";
			$query = mysqli_query($mysqli, $sql);

					echo "<script>modalCad();</script>";
				}
			}
		}

		$mysqli->close();

Não consigo identificar o erro.

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Felipe Paz

Provavelmente deve haver algum erro na query que esta tentando executar no banco de dados.

Acabei de fazer um teste e o que faz com que ocorra esse erro(pelo menos aqui) foi um erro na query ;

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Felipe Paz Olá,

 

Não sei se vai resolver, mas tenta remover a parte orientada a objetos, pois tem umas linhas ali que não são.

Tente fazer desta forma:

$mysqli = mysqli_connect("localhost", "root","","bluesky");

//Você precisa ter um código recebido por GET para passar ao SQL
$codigo = $_GET["ID"];

$query = mysqli_query($mysqli,"SELECT * FROM produtos WHERE codigo = $codigo");

while ($res = mysqli_fetch_object($query)):

         $cod = $res->codigo;

         if($cod == $codigo):
             echo "<script>modalJaCad();</script>";
         else:
               $sql = "INSERT INTO produtos (id, produto, tamanho, fornecedor, 
                          preco_de_compra, preco_de_venda, descricao, lucro, sexo, 
                          curva_abc, estoque, numero_de_vendas, pecas_vendidas) 
                          VALUES('$codigo', '$produto', '$tamanho', '$fornecedor', 
                                      '$preco_de_compra', '$preco_de_venda', 
                                      '$descricao', '$lucro', '$sexo', '0', '0', '0', '0')";

                $insere = mysqli_query($mysqli, $sql);
                if($insere):
                    echo "<script>modalCad();</script>";
                endif;
        endif;
endwhile;

mysqli_close($mysqli);

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, desculpe a demora em responder, porém acabei refazendo o código e ficou da seguinte forma:

$mysqli = new mysqli("localhost", "root", "", "bluesky");
$sql = "SELECT * FROM produtos";
$query = $mysqli->query($sql);

if(!$query) {
	$sql = "INSERT INTO produtos (cod, produto, tamanho, fornecedor, preco_de_compra, preco_de_venda, descricao, lucro, sexo, curva_abc, estoque, numero_de_vendas, pecas_vendidas) VALUES('$codigo', '$produto', '$tamanho', '$fornecedor', '$preco_de_compra', '$preco_de_venda', '$descricao', '$lucro', '$sexo', '0', '0', '0', '0')";
	$query = mysqli_query($mysqli, $sql);

	echo "<script>modalCad();</script>";

} else {
	$res = $query->fetch_array();
	$cod = $res['cod'];
	if(!$query || $cod == $codigo){
		echo "<script>modalJaCad();</script>";
	} else {
		$sql = "INSERT INTO produtos (cod, produto, tamanho, fornecedor, preco_de_compra, preco_de_venda, descricao, lucro, sexo, curva_abc, estoque, numero_de_vendas, pecas_vendidas) VALUES('$codigo', '$produto', '$tamanho', '$fornecedor', '$preco_de_compra', '$preco_de_venda', '$descricao', '$lucro', '$sexo', '0', '0', '0', '0')";
		$query = mysqli_query($mysqli, $sql);
		echo "<script>modalCad();</script>";
	}

 

  • Curtir 2

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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 publicações sobre tecnologia do Brasil. Leia 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

×