• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Sota

se um query falhar posso fazer isto

9 mensagens neste tópico

viva,

queri fazer essa query e depois caso ela falha-se ou seja n houvesse nenhum id_user nem

id_casa_de_apostas na tabela fazia outra, eu fiz assim mas aparentemente não funciona:S

                $votacao=mysql_query("SELECT votacao FROM jos_votacao  WHERE  id_user={$user->id} AND id_casa_de_apostas=$click") or die(mysql_error());
                $user_voto= mysql_fetch_array($votacao);
                if($votacao){
                echo "<p>Minha votação: {$user_voto['votacao']}</p>";}
                else{
                echo "<p>Vota já nesta casa.</p>";}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
<?php
if($votacao!=0){
//se for bem sucedido
} else {
//se falhar
}
?>

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não está a funcionar :s

exprementei fazer echo da varivel votacao e aparece Resource id #55

existe outra maneira de eu procurar na tabela esses dois Ids?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ou seja, se a query retornar zero linhas, correcto? Se sim, basta contar as linhas:

<?php
if (mysql_num_rows($votacao) > 0) {
    echo "<p>Minha votação: {$user_voto['votacao']}</p>";
} else {
    echo "<p>Vota já nesta casa.</p>";
}
?>

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não está a funcionar :s

exprementei fazer echo da varivel votacao e aparece Resource id #55

existe outra maneira de eu procurar na tabela esses dois Ids?

O código funciona.

Isso está a trabalhar, só não sabes usar resources direito.

Para acederes aos dados, a melhor maneira in my opinion é usando um while..

Assim:

<?php
while($row=mysql_fetch_assoc($votacao)){
echo $row["nome do campo que queres"];
//código a ser tratado
}
?>

Um query não devolve uma string, nem um inteiro, nem nenhum tipo de dados que possa ser mostrado normalmente.

Um query devolve uma SQL Resource, a.k.a., um conjunto de rows de uma tabela.

O que esse while faz é percorre todas as rows desse resource possibilitando o acesso a todas as rows que um query deverá devolver.

O scorch sugeriu o uso da mysql_result, mas essa função na minha opinião só deve ser usada se tu souberes ao certo a que row queres aceder (bom para quando sabes que a resource só vai devolver 1 row por exemplo).

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Fiz exactamente como tu disses-te The Loser mas não deu :S ele só executava um dos if's.

fiz como softclean disse essa deu

obrigado a todos :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Fiz exactamente como tu disses-te The Loser mas não deu :S ele só executava um dos if's.

fiz como softclean disse essa deu

obrigado a todos ;)

Então percebi mal o que querias dizer. :)

O que eu demonstrei-te funciona se o query falhar porque a função mysql_query devolve false se falhar.

No entanto, falhar o query e simplesmente o query não devolver row nenhuma são coisas diferentes.

Escapou-me uma parte do post.

0

Partilhar esta mensagem


Link 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