View Full Version : [php+mysql] pancada fenomenal :S


muddymind
21-10-2007, 00:55
Boas... tou a fazer uma pagina web e numa parte está a acontecer-me uma cena incrível... Faço uma query à bd da seguinte forma:

$query_string = "SELECT * FROM conteudos WHERE pai='root'";

$conteudos = mysql_query($query_string, $bd) or die(mysql_error());

$conteudo_sel = mysql_fetch_assoc($conteudos);

do
{
$tmp=$conteudo_sel['nome'];
....

o resultado de $conteudo_sel['nome'] é smp 0 quando na realidade nao o é... fiz a mesma query no mysql query browser e o resultado estava correcto... porq raios ele esta-me a dar 0?!?!? tipo... neste mesmo site tou farto de fazer cenas iguais a esta e so neste caso é q isto acontece :S

help please...

[]

anjo2
21-10-2007, 11:52
$conteudos = mysql_query($query_string, $bd) or die(mysql_error());
O que é o $bd? Tens mais do que uma base de dados? não ficaria só "mysql_query($query_string)"

experimenta só seleccionar 1 e fazeres desse, eu não utilizo dessa forma.
podes fazer
$query_string = "SELECT * FROM conteudos WHERE pai='root'";
$conteudos = mysql_query($query_string) or die(mysql_error());

$tmp = mysql_result($conteudos, 0, nome);Onde o "0" é qual a posição que está, podes fazer depois uma variavel n se quiseres percorrer toda a tabela.

muddymind
21-10-2007, 13:52
$conteudos = mysql_query($query_string, $bd) or die(mysql_error());
O que é o $bd? Tens mais do que uma base de dados? não ficaria só "mysql_query($query_string)"

experimenta só seleccionar 1 e fazeres desse, eu não utilizo dessa forma.
podes fazer
$query_string = "SELECT * FROM conteudos WHERE pai='root'";
$conteudos = mysql_query($query_string) or die(mysql_error());

$tmp = mysql_result($conteudos, 0, nome);Onde o "0" é qual a posição que está, podes fazer depois uma variavel n se quiseres percorrer toda a tabela.

Obrigado pela ajuda mas o resultado é o mesmo... :(

any ideas?

LuisPitbull
21-10-2007, 16:21
No pedaço de código que enviaste não estou a ver onde está o problema...

Aparentemente ai está tudo correcto.

Nem precisavas ter indicado a base de dados na "mysql_query()" mas também não faz mal nenhum indicares...

Infelizmente nao dei grande ajuda...

spastikman
21-10-2007, 17:37
é zero, ou é nulo ?


já verificaste o código gerado ?

não andara lá pelo meio, apenas mal formatado ?

anjo2
21-10-2007, 20:16
Fizeste da ultima forma que te disse? pelo mysql_result?

muddymind
22-10-2007, 01:49
Fizeste da ultima forma que te disse? pelo mysql_result?

yup... deu exactamente o mesmo :(

Já me estou a passar com isto... nao consigo encontrar nenhuma explicação para isto :S

[]

anjo2
22-10-2007, 02:02
mas dá 0 ou dá null? Podes até ter noutro sitio mal e que faz com quem nem chegue a essa área, confirma de novo o código passo a passo, vê os parentesis, os ifs se tiveres e vê se está tudo correcto para chegar a essa parte, ou mais facil, coloca um echo "Teste"; para ver se está aí, e depois podes fazer teste a teste, mas se chegares aí, deve funcionar

msdevweb
24-10-2007, 07:36
$query_string = "SELECT * FROM conteudos WHERE pai='root'";

$conteudos = mysql_query($query_string, $bd) or die(mysql_error());

$conteudo_sel = mysql_fetch_assoc($conteudos);

do
{
$tmp=$conteudo_sel['nome'];
....

[]

esperimenta:


$query_string = "SELECT * FROM `conteudos` WHERE `pai`='root'";

$conteudos = mysql_query($query_string) or die(mysql_error());

while($data=mysql_fetch_array($conteudos)) {

$tmp=$data['nome'];
echo "Nome: ".$tmp;
}



:)
ve no que da!

cumps.

M_A_P
26-10-2007, 15:51
tens a bd seleccionada?