Ir para conteúdo

POWERED BY:

Arquivado

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

kaamus

problema com mysql_fetch_object

Recommended Posts

Olá, bom dia gente http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

to com um warning assim na minha busca:

 

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in C:\wamp\www\site\busca.php on line 106

 

não sei o que há de errado =/

 

meu código:

 

CODE

 

<?php if($busca !='')

{ ?>

<br />

<?php

$querybusca="SELECT DISTINCT `ati_nome` FROM `atividades` WHERE `ati_nome` LIKE '%$busca%' LIMIT 0 , 30";

$selinf = mysql_query($querybusca, $connect);

while ($row_selinf = mysql_fetch_object($selinf))

 

{ ?>

 

 

<br /><a href="atividade.php?not=<?php echo($row_selinf->ati_codigo ) ?>"> <?php echo($row_selinf->ati_nome ) ?></a><br />

 

<?php

}

?>

<?php

}

 

?>

 

vlw gente ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Problema clássico esse.

 

Há milhares de tópicos sobre isso, mas vou explicar aqui:

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in 

Atenção: mysql_fetch_row(); o argumento fornecido não é um recurso MySQL válido no arquivo ... blá blá blá

A função mysql_fetch_row() espera um recurso mysql, um objeto mysql, e isso não foi fornecido.

Com certeza, houve um erro na execução da query.

Então, estando o problema na query, faça um teste acrescentando o mysql_error() (função que exibe os erros devolvidos pelo SGDB MySQL):

$selinf = mysql_query($querybusca, $connect) or die (mysql_error());

Compartilhar este post


Link para o post
Compartilhar em outros sites

no meu caso nao, eu coloco que quero somente a coluna do e-mail, no sql PHPMyAdmin, e ele retorna, ja no codigo nao é que da erro, o meu aparece somente um e-mail ao inves de aparecer mais dados.

 

 

$lista = "SELECT NOME, EMAIL FROM mkt";
$listado = mysql_db_query(caj, $lista) or die (mysql_error());
while($campo = mysql_fetch_object($listado)){
echo $EMAIL=$campo->EMAIL;
}
echo "<br>$EMAIL, ";

neste exemplo o echo que esta dentro do while aparece todos os resultados, ja o que esta fora aparece somente um como devo proceder?

Compartilhar este post


Link para o post
Compartilhar em outros sites

No ultimo aparece somente um porque é o último valor atribuido nessa variavel no LOOP

 

Pode reparar que esse "unico valor" é exatamente o último registro de retorno da sua consulta.

 

Se você quer usar todos os dados novamente, você pode armazená-los em um vetor (array).

Para isso faça:

while($campo = mysql_fetch_object($listado))
{
$EMAIL[]=$campo->EMAIL;
}

print_r($EMAIL);
//ou para mostrar um valor específico
echo $EMAIL[1];
//onde esse '1' é o índice do valor que você quer mostrar,
//ou seja, é o número da posição dele no vetor

Compartilhar este post


Link para o post
Compartilhar em outros sites

ta mais eu quero exibir todos os usuarios, eu to montando um mailling de teste, no meu banco estao digitados meu email, quero pegar meus @ e colocar em uma variavel para colocar no receptor do Mailling, como fazer para pegar todos os resultados do campo email e echoar fora do while. ou uma forma que faça o select e traga todos os registros.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigada Marcio.sfs vou testar aqui pra ver o que eu consigo, na verdade não tava entendendo muito de mysql_fetch_object!

 

qualquer problema volto a postar ;)

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.