Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

cigano2009

'Resource id #7' at line 1

Mensagens Recomendadas

cigano2009

Boas. Apareceu-me um erro e nao vejo porque enquanto fazia um trabalho. Tou a fazer um site para um videoclube e o erro é o seguinte: "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 ''Acção' at line 1"

Aqui está o pouco código que tinha feito nessa página:

<?php include"topo.inc.php"; ?>

<?php

$data = mysql_query("SELECT * FROM filmes where nome_categoria = 'Acção'")or die(mysql_error());

$result = mysql_query($data)or die ("Query failed: " . mysql_error());

$registo = mysql_fetch_array($result);

echo $registo['Nome_original'];

include"rodape.inc.php"; ?>

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
cigano2009

desculpa. Eu vi logo que o erro era diferente. o erro é "Query failed: 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 'Resource id #7' at line 1"

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pedroserra

Explica-me lá o objectivo da segunda linha

$data = mysql_query("SELECT * FROM filmes where nome_categoria = 'Acção'")or die(mysql_error());
$result = mysql_query($data)or die ("Query failed: " . mysql_error());

Estás a dar o resultado da primeira query como query para a segunda?!


Ah e tal não sei quê...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
cigano2009

como nao conseguia resolver o erro pesquisei na net e meti esse codigo. Só assim e que me aparece a mensagem de erro porque sem isso nao me aparece nada. Nem erro, nem resultado

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
cigano2009

Apaguei isso e continua-me a dar erro da linha :

"$result = mysql_fetch_array($data)or die ("Query failed: " . mysql_error());"

Mas só aparece o Query failed:

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
mjamado

Por causa destas e doutras é que eu odeio essa treta do "or die"...  :thumbdown:

Pura e simplesmente, não tens nenhuma linha na BD que corresponda à query... Simple as that. Como a query retorna... nada... o "or die" mata-te o processo sem erro nenhum.


"Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
cigano2009

mas eu meti o mesmo codigo no mysql e retornou-me registos. Será que posso colocar na clausula Where um campo sem ser inteiro? Mas acho estupido

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
mjamado

Um campo sem ser inteiro? Não captei...

Seja como for, cuidado - muito cuidado! - com caracteres acentuados assim à papo-seco nas queries. Experimenta usar o LIKE em vez do sinal =, a ver se resolve.


"Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
mjamado

Mas agora não é um problema do PHP, é um problema da query. Verifica todos os encodings, tenho quase a certeza que é dos caracteres acentuados. Experimenta com outros valores (sem diacríticos de qualquer espécie).


"Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
cigano2009

:shocking: Tinhas razão. Muito carregaste na mesma tecla, mas tem a ver com os acentos, mas para esta página preciso mesmo que o nome seja assim. Como o faço para colocar acentos?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
mjamado

Tens que verificar os encodings todos: das tabelas MySQL, da ligação à BD, do HTML e dos ficheiros todos que estás a usar. Devem ser todos utf-8 para ser mais fácil.


"Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.