Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Chaparro

mysql_fetch_array(): supplied argument is not a valid MySQL result res

Recommended Posts

Pessoal, estou com um problema que está me tirando fora do sério já...

 

Eu tenho o código abaixo

 

include "../../include/conexao.php";
include "../../include/php/limpa.php";

$sql_destaque = "SELECT topico_id,noticia_id,noticia_titulo,noticia_apoio,noticia_data FROM noticias WHERE topico_id = 1 order by noticia_data DESC";

$query_destaque = mysql_query($sql_destaque, $conexao);

$i = 0;
while($campos_noticia = mysql_fetch_array($query_destaque, MYSQL_ASSOC))
{	
	$noticia_id[$i] = $campos_noticia["noticia_id"];
	$noticia_chapel[$i] = $campos_noticia["noticia_chapel"];
	$noticia_titulo[$i] = $campos_noticia["noticia_titulo"];
	$noticia_apoio[$i] = $campos_noticia["noticia_apoio"];
	$noticia_data[$i] = $campos_noticia["noticia_data"];
	$i = $i + 1;
}

$j = 0;
$primeira_com_foto = -1;
while($j <= $i)
{	
	$id_not = $noticia_id[$j];

	$sqlfoto[$j] = "SELECT imagem_pequena,imagem_grande,imagem_descricao FROM imagens WHERE noticia_id = ".$id_not." ";

	$query_foto[$j] = mysql_query($sqlfoto[$j], $conexao);

	if($campos_foto = mysql_fetch_array($query_foto[$j], MYSQL_ASSOC))
	{
		if($primeira_com_foto == -1)
		{
			$foto[$j] = $campos_foto["imagem_pequena"];
			$foto_grande[$j] = $campos_foto["imagem_grande"];
			$foto_descricao[$j] = $campos_foto["imagem_descricao"];
			$primeira_com_foto = $j;
		}
		else
		{
			$foto[$j] = $campos_foto["imagem_pequena"];
			$foto_grande[$j] = $campos_foto["imagem_grande"];
			$foto_descricao[$j] = $campos_foto["imagem_descricao"];
		}
	}		

	$j = $j + 1;
}

 

O retorno dele está funcionando da maneira que eu quero... Mais mesmo assim aparece o Warning

 

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/business/public_html/noticias/empresas-profissionais/noticias.php on line 30

 

O problema está aqui

if($campos_foto = mysql_fetch_array($query_foto[$j], MYSQL_ASSOC))

 

Alguem sabe o que eu posso fazer para não aparecer esse erro?

Compartilhar este post


Link para o post
Compartilhar em outros sites

adicione o mysql_error() para descobrir o motivo de ter falhado.

 

leia:

http://forum.imasters.com.br/topic/375800-orientacoes-para-uma-boa-participacao/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola caro amigo.

Bem, a principio quero lhe dizer que seu código não tem uma boa semântica. Isso não é uma crítica, mas sim uma dica para que possamos melhorar cada dia mais.

Relacionado ao seu erro, digo-lhe que provavelmente seu problema está quando você monta o array

$sqlfoto[$j]

, logo, tente debugar seu codigo, e verifique se esse array "contém algo", sempre que o laço e formado.

 

A princípio esta é minha contribuição para com sua dúvida.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aconselho a tirar o sql do array e colocar em uma variável simples, por que necessita de um array de uma posição só?!

 

Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites
Aconselho a tirar o sql do array e colocar em uma variável simples, por que necessita de um array de uma posição só?!

 

Preciso pegar apenas a ultima noticias cadastrada com foto, por isso esse array...

 

Ola caro amigo.

Bem, a principio quero lhe dizer que seu código não tem uma boa semântica. Isso não é uma crítica, mas sim uma dica para que possamos melhorar cada dia mais.

Relacionado ao seu erro, digo-lhe que provavelmente seu problema está quando você monta o

array $sqlfoto[$j],
logo, tente debugar seu codigo, e verifique se esse array "contém algo", sempre que o laço e formado.

 

A princípio esta é minha contribuição para com sua dúvida.

 

Já debuguei, ele está trazendo a informação corretamente, mas acontece que o warning não sai da tela... Eu sei que não é o melhor jeito, mas foi o jeito mais facil que encontrei... Alguma sugestão? Preciso pegar sempre a ultima noticia cadastrada com foto e exibir na página....

 

adicione o mysql_error() para descobrir o motivo de ter falhado.

 

leia:

http://forum.imaster...a-participacao/

 

Vou tentar aqui e posto o resultado.

 

Valeuuu

 

Postando o resultado

 

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

troque:

while($j <= $i)

por:

while($j < $i)

 

tente ser mais claro na resposta. De qual querie se referia o erro ?

qndo tiver dúvidas, dê um echo, e analise a string:

$sqlfoto[$j] = "SELECT imagem_pequena,imagem_grande,imagem_descricao FROM imagens WHERE noticia_id = ".$id_not." ";
echo $sqlfoto[$j];

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.