Ir ao conteúdo
  • Cadastre-se

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


Posts recomendados

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
Link para o comentário
Compartilhar em outros sites

  • Moderador

@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);

 

Link para o comentário
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
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

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

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

×
×
  • Criar novo...