Jump to content
  • 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

Recommended Posts

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"; ?>

Share this post


Link to post
Share on other sites
pedroserra

Vê lá se não te falta uma ' a seguir a Acção.


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

Share this post


Link to post
Share on other 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"

Share this post


Link to post
Share on other 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ê...

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other sites
pedroserra

Faz sentido. Introduzes uma linha com um erro e passas a ter uma mensagem de erro.


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

Share this post


Link to post
Share on other 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:

Share this post


Link to post
Share on other sites
mjamado

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

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.

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other sites
cigano2009

😲 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?

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.