Ir para conteúdo

POWERED BY:

Arquivado

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

Paulo Mardson

[Resolvido] Erro de consulta

Recommended Posts

Não sei o motivo do erro:

 

$sql = "SELECT * FROM tabela WHERE login = ".$login."";
 $query = mysql_query($sql);
 $num = mysql_num_rows($query);

erro = Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in...

 

estou tentando verificar se o login não existe no banco

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta assim

 

 $sql = "SELECT * FROM tabela WHERE login = '$login'";
 $query = mysql_query($sql);
 $num = mysql_num_rows($query);

a tabela tem o nome de "tabela" msm???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já fiz desse modo já conferi todos os nomes..mas nada

 

só para testar faz assim

selecionando todas as linhas da tabela

 $sql = "SELECT * FROM tabela";
 $query = mysql_query($sql);
 $num = mysql_num_rows($query);
 echo "Numero de linhas: ".$num;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para nao passar batido, porque não debugar o código? O erro é bem claro. "O 1º parâmetro da função mysql_num_rows() deve ser um resource, porém foi passado um boleano".

Ou seja, o problema não está na função em sí, mas no parâmetro que foi passado a ela. Este parâmetro veio da função mysql_query().

Olhando na documentação desta função no manual do PHP, vemos o seguinte:

 

"Para comandos SELECT, SHOW, DESCRIBE ou EXPLAIN, mysql_query() retorna um resource em caso de sucesso, ou FALSE em caso de falha."

 

Olha só. Caso a função mysql_query() falhe, ela retorna FALSE. Então é dai que está vindo o boleano que a função mysql_num_rows() acusou.

Agora sabemos que o problema está lá, o que torna mais rapido o conserto do código.

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.