Ir para conteúdo
Fórum Script Brasil
  • 0

Erro ao abrir notícia em Script


Durval Ferreira

Pergunta

Amigos, instalei um script de um portal de notícias que permite criar usuários para postar notícias. Instalei no hostinger php5.2 (no 5.3 não ficou legal). No script de instalação já tem algumas notícias no banco de dados e consigo enviar novas notícias para lá. Porém da erro quando clico sobre a foto para abrir tanto as velhas notícias e as novas. O que faço?
Olhe o código que aparece ao tentar abrir uma notícia e abaixo parte do arquivo exibir2.php (da linha 1 até a linha 14) onde está a linha 12 em que apresenta o erro - while($nt = mysql_fetch_assoc($views)){.

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/u107930093/public_html/estrutura/noticias/exibe2.php on line 12


<?
$variables=(strtolower($_SERVER['REQUEST_METHOD'])== 'GET') ? $_GET : $_POST;
foreach ($variables as $k=> $v)
$$k=$v;
$tabela1 = "noticias";
$tabela2 = "users";
$tabela3 = "cidades";
$file = "$tabela1";
if($acao == "ver"){
$busca = "SELECT * FROM $tabela1 WHERE id='$id'";
$views = mysql_query("SELECT cont FROM noticias WHERE id=$id");
while($nt = mysql_fetch_assoc($views)){
$count = $nt['cont'] + 1;
}

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Olá!

Creio que houve uma falha ao executar a query de consulta. Acrescente um die em:

$views = mysql_query("SELECT cont FROM noticias WHERE id=$id") or die(mysql_error());

 

Que a provável falha será descrita na tela.

 

 

Link para o comentário
Compartilhar em outros sites

  • 0

Lowys, inseri essa linha na linha 15 e aparece na tela:

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/u107930093/public_html/estrutura/noticias/exibe2.php on line 12
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 1

 

 

 

Editado por Durval Ferreira
Errei a linha que inseri o texto
Link para o comentário
Compartilhar em outros sites

  • 0

Olá!

Não era pra você acrescentar mais linhas no seu script, não!

Acrescente apenas o die, vou colocar em negrito pra você perceber:

$views = mysql_query("SELECT cont FROM noticias WHERE id=$id") or die(mysql_error());

A parte que não está em negrito já existe no seu script.

 

P.S.

Não use mais as extensões mysql_* elas estão demasiadamente obsoletas, veja:

mysql_.jpg.ccf8954f5caa53ddabe914d19c631

Editado por wash
Link para o comentário
Compartilhar em outros sites

  • 0

Wash,

me desculpe pois estava até agora pouco tentando encontrar uma solução. Achava simples fazer um script mostrar uma determinada notícia ou informação que está no seu banco de dados. Mas parece que me enganei. A minha dúvida sobre o mysql estar obsoleto é o que vai acontecer com os sites que utilizam os scripts baseados nele se acabar amanhã? Mas vamos ao assunto do danado do erro:

Bem, fiz a alteração e apareceu a seguinte mensagem: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 1

 

Obs. Até pensei que faltava permissão para acessar o banco de dados mas exclui essa possibilidade pois além dos arquivos config.php estarem Ok, também consigo cadastrar novas notícias. O que não consigo é ver essas notícias no site.

Fico muito grato pela ajuda

Link para o comentário
Compartilhar em outros sites

  • 0

Problema resolvido!

Obrigado Lowys, obrigado Wash.

"Vocês foram muito importante para a solução do problema. Finalmente pude visualizar as notícias. E a solução passou pelo die como ambos me orientaram.

Após colocar o die que faltava, fui informado que o problema era na linha 1. Assim pesquisei e pesquisei e encontrei num fórum a resposta do 'Andrey Knupp Vital' em que ele pedia para que um usuário daquele site trocasse a primeira linha"

Nunca vai procurar as variáveis no GET.

$variables=(strtolower($_SERVER['REQUEST_METHOD'])== 'GET') ? $_GET : $_POST;

Troque isso aí por:

$variables = ( ( $_SERVER['REQUEST_METHOD'] )== 'GET') ? $_GET : $_POST;

 

E funcionou 100%!

Agora os usuários poder ler as notícias.jpg

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...